This is the sample project for the Android App Architecture blog post.
It follows the Android app architecture guidelines by implementing login and browsing of repositories via Github API.
Its purpose is to be a skeleton app when starting a new project.
- Android 5.0 Lollipop or higher.
- Android Studio 3.5
- Create a GitHub personal access token with at least repo read access here
- Run LoginActivity.kt
- Enter your username and personal access token to see the repo list.
- MVVM pattern: ViewModels are used from androidx lifecycle packages. View reads LiveData from the ViewModel.
- Koin dependency injection
- Room database
- Volley network client
- Instrumentation tests using MockWebServer assure that login and repo list views will be visible to the user.
- Unit tests test that repositories read, fetch and store data.
./gradlew test && ./gradlew cAT
Please make a pull request
MIT