π Shopr is a multi-module Android shopping app built with Jetpack Compose, Kotlin, and a scalable architecture to enhance maintainability and build times. This project is designed to demonstrate best practices in modularization, dependency injection, and UI/UX.
- π¦ Multi-Module Architecture for improved maintainability.
- π¨ Modern UI with Jetpack Compose.
- π Networking powered by Ktor.
- π State Management using Jetpack ViewModel & LiveData.
- ποΈ Dependency Injection via Koin.
- π Kotlin Serialization for data handling.
- π οΈ Unit & UI Testing with JUnit and Espresso.
- π οΈ Common - Shared utilities.
- π¨ UI - Design system components.
- π Network - API handling via Ktor.
- πΎ Data - Repository pattern implementation.
- βοΈ Domain - Business logic and use cases.
- π§ Navigation - Centralized navigation management.
- π Testing - Unit & UI testing utilities.
- π Home - Main dashboard.
- π³ Cart - Shopping cart.
- π Orders - Order history.
- π€ Profile (Coming Soon...)
- Language: Kotlin 2.0.0 π
- Framework: Jetpack Compose π¨
- Dependency Injection: Koin ποΈ
- Networking: Ktor π
- Serialization: Kotlinx Serialization π
- Testing: JUnit, Espresso, Mockito π¬
- Build System: Gradle π§
- JDK 17+
- Gradle 8.8+
git clone https://github.com/yourusername/shopr.git
cd shopr./gradlew clean build
./gradlew :app:installDebugContributions are welcome! π Feel free to fork the repository and submit a Pull Request with improvements.
- Fork the repo π΄
- Create a new branch π (
git checkout -b feature-name) - Commit changes π― (
git commit -m 'Add feature XYZ') - Push to the branch π€ (
git push origin feature-name) - Open a Pull Request π₯
This project is open-source and available under the MIT License.
This repo inspried from furqanullah717
π‘ Looking for feedback & collaboration! If you're passionate about Android architecture, feel free to connect. π