This application simply retrieves credit score information from a specified endpoint and displays the data in a donut view.
Please find below more details...
- Data (for database, API and preferences code)
- Domain (for business logic and models)
- Presentation/App (for UI logic, with MVI)
- Unit tests
- Application tests
- Activity tests (with Espresso)
- Dependency injection (with Hilt)
- Reactive programming with RXJAVA
- Google Material Design library
- Quick cached Image loading (with Picasso)
- Networking (with Retrofit)
- Flat layout hierarchy (with Constraint layouts)
- Multi Screen Segmentation (with Fragments)
- Navigation (with Navigation Library)
- Android lifecycle aware components (with Lifecycle)
- Data surviving configuration changes (with ViewModel)
- Type safe dependency management (with Kotlin DSL)
- Android architecture components to share ViewModels during configuration changes
Light Theme | Dark Theme |
---|---|
![]() |
![]() |
- Clone this repository preferably with Android Studio
- Build project and then run application. In the situation where you are asked about trusting the application please do select yes
- Please make sure you are on the
main
branch as that has all the latest changes.
- Implement composable UI with donut view.
- Add more instrumentation tests to support data states
- Add more unit tests as well
- Go further with modularising the application
- Include offline support
- Automatically retry endpoint once network is restored
- Avoid credit Score fragment from reloading
- Improve credit score detail screen UI (could be a card view with a recycler view)
- Has issues with donut view as I wanted to avoid using libraries.
- I had a bit of trouble understanding what data elements were relevant for the donut view.