Github Search is a simple Android application built to demonstrate use of modern Android development tools.
Install and test latest version by link below 👇
- Architecture: MVVM (Model View View-Model)
- Navigation Graph
- App is written in Kotlin
- Coroutines (concurrency)
- Kodein-DI - "painless" Dependency Injection
com.koshsu.githubsearch # Root Package
.
├── application # Custom Application class / Dependency Injection (Kodein)
|
├── data # Data handling
| ├── database # Room database for local end point
| | ├── dao # Data Access Objects for Room
| | └── model # Entities and data classes
| ├── network # Retrofit/Github API for remote end point
| | └── response # Data class that holds search result data
| ├── preference # Shared Preferences Provider
| └── repository # Single source of data for ViewModels
|
├── ui # View layer (Activity, Fragments)
│ ├── details # Details Screen Fragment (& ViewModel)
│ ├── home # Home Screen Fragment
| ├── interfaces # Interfaces for communication between Fragments and Activity
│ └── search # Search Screen Fragment (& ViewModel, Adapter)
|
└── utils # Kotlin extensions / Utility classes
- Pagination
- Tests