A modern Android application built with Jetpack Compose to fetch and display GitHub users, along with detailed user information.
This project demonstrates a simple Android app written in Kotlin using Jetpack Compose. It interacts with the GitHub API to display a list of users, fetch detailed information, and cache user data locally for performance and offline use.
-
Fetch GitHub Users with Pagination
Fetch user data in batches of 20 items per page using the GitHub API. -
User Details Page
View detailed information about individual users by querying https://api.github.com/users/{username}. -
Local Data Caching
User data is stored in a local database to ensure seamless offline access. When the app is launched again, previously fetched user data is displayed instantly without the need to re-fetch from the remote server. -
Unit Tests
Unit tests ensure functionality and robustness.
The app's UI is built entirely with Jetpack Compose to provide a modern, responsive, and declarative design.
Screen_recording_20250104_124717.webm
The app leverages modern Android development tools and frameworks:
- Architecture: MVVM (Model-View-ViewModel)
- UI: Jetpack Compose, Android paging3
- Networking: Retrofit, OkHttp, Moshi
- Local Storage: Room Database
- Dependency Injection: Hilt
- Asynchronous Programming: Coroutines + Kotlin Flow
- Image Loading: Coil
- Code Generation: KSP
- Testing: JUnit, Mockito
The app follows a modular architecture for scalability and maintainability.
