A modern, scalable Android application built with Jetpack Compose and Clean Architecture, designed to explore GitHub user profiles. Built with production-level modularity and clean code practices.
- 🔍 Search GitHub users
- 👤 View user details and followers
- 🧱 Clean Architecture: domain, data, and presentation layers
- 🧩 Scalable and modular project structure
- 🎨 100% Jetpack Compose UI
- 🌐 GitHub REST API integration
- 🧪 Unit and UI test ready
- ⚙️ CI/CD-friendly structure
app/
core/
├── ui/
├── network/
└── utils/
feature/
├── users/
│ ├── data/
│ ├── domain/
│ └── presentation/
└── profile/
├── data/
├── domain/
└── presentation/
- Feature Modules: Each feature (like
users
,profile
) has its owndata
,domain
, andpresentation
layers. - Core Modules: Contains shared components like UI elements, networking, and utilities.
- App Module: The entry point that wires everything together.
- Kotlin
- Jetpack Compose
- Coroutines & Flow
- Hilt (DI)
- Retrofit
- Coil (Image Loading)
- Jetpack Navigation
- Material 3
app
– Main entry pointcore-ui
– Shared Compose UI elementscore-network
– Networking logiccore-utils
– Constants, helpersfeature-users
– GitHub users listfeature-profile
– User detail screen
Modularization allows:
- Better scalability and testability
- Feature isolation
- Faster CI builds
- ✅ Unit tests
- ✅ UI tests (Compose)
- ✅ Mockable architecture
- 🧪 Easy to integrate test coverage tools
Sample workflow .github/workflows/android.yml
includes:
- ✅ Gradle caching
- ✅ Build Debug APK
- ✅ Run unit tests
- GitHub user list
- User profile details
- GitHub user search
- Favorite users feature
- Dark mode
- Paging + Caching
- Full test coverage
Contributions are welcome!
Feel free to fork, open issues, or submit pull requests.
Licensed under the MIT License.
See the LICENSE file for details.
Built with lovers (GT)