github-repos
Motivation
- Create an Android Client for GitHub API without using 3rd party libs.
- 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:
- Clean Code: A Handbook of Agile Software Craftsmanship: Robert C. Martin book about writing good and readable code.
- Ruby Midwest 2011 - Keynote: Architecture the Lost Years by Robert Martin: Robert C. Martin talk about Clean Architecture.
- Test Driven Development: By Example: Kent Beck book about how to develop software guided by tests.