github-repos

Motivation

  1. Create an Android Client for GitHub API without using 3rd party libs.
  2. Create a fully tested Android application using best practices as:
    • Clean Code.
    • Dependency Injection.
    • Inversion of Control.
    • Clean Architecture.
    • Test Driven Development.

Features

  • Load repositories by github username.

Build

To build this project run the following command on the root of the project.

gradlew clean assemble

Test

To run unit tests execute the following command on the root of the project.

gradlew clean test

UI Test

To run UI tests execute the following command on the root of the project.

gradlew clean connectedAndroidTest

TODO

  • Asynchronously load the last commit.
  • Add a Data Persistency Layer.
  • Configure Firebase Test Lab.
  • Configure CircleCI to send code coverage and static code analysis to http://sonarcloud.io/
  • Setup local server for integration tests.

Credits

This project heavily relies on concepts from: