|
| 1 | +# 🚀 Compose Android Template |
| 2 | +[](https://github.com/CoderMP/compose-android-template/generate) [](https://github.com/CoderMP/compose-android-template/actions/workflows/android-ci.yml)   |
| 3 | + |
| 4 | +A modern, production-ready Android template built with **Jetpack Compose** and **Kotlin**. Get your next Android project up and running in seconds with industry best practices baked in. |
| 5 | + |
| 6 | +## ✨ What's Inside |
| 7 | +- **🎨 Jetpack Compose** - Modern declarative UI toolkit |
| 8 | +- **🏗️ Clean Architecture** - Organized with proper separation of concerns |
| 9 | +- **💉 Koin** - Lightweight dependency injection |
| 10 | +- **🧭 Navigation Component** - Type-safe navigation with Kotlin Serialization |
| 11 | +- **🎯 Result Pattern** - Robust error handling with custom Result types |
| 12 | +- **🌙 Material 3** - Latest Material Design with dynamic theming support |
| 13 | +- **🔧 Gradle Kotlin DSL** - Modern build configuration |
| 14 | +- **🚀 GitHub Actions** - Automated CI/CD pipeline |
| 15 | +- **📱 Template Cleanup** - Automatic package renaming and setup |
| 16 | + |
| 17 | +## 🏃♂️ Quick Start |
| 18 | +1. **Use this template** by clicking the "Use this template" button |
| 19 | +2. **Name your project** and wait for the automatic cleanup to complete |
| 20 | +3. **Start building** your amazing Android app! |
| 21 | + |
| 22 | +The template cleanup workflow will automatically: |
| 23 | +- ✅ Rename packages to match your project |
| 24 | +- ✅ Update app name and configurations |
| 25 | +- ✅ Remove template-specific files |
| 26 | +- ✅ Set up your project structure |
| 27 | + |
| 28 | +## 🏛️ Architecture |
| 29 | +The architecture of the project is based off of a modular approach for the package structure, and enforces MVI-based layering within these packages. This allows you to focus on properly structuring your code in a clean manner, while having the flexibility to "export" these packages as modules as the project scales up in size. |
| 30 | +``` |
| 31 | +app/ |
| 32 | +├── 📱 app/ # Application layer (DI, navigation) |
| 33 | + ├── di/ # Dependency injection modules |
| 34 | + ├── navgiation/ # Navigation logic |
| 35 | +├── 🏗️ core/ |
| 36 | + ├── di/ # Business logic & models |
| 37 | + ├── domain/ # Business logic & models |
| 38 | + └── presentation/ # UI components & theming |
| 39 | +``` |
| 40 | + |
| 41 | +## 🛠️ Built With |
| 42 | +- **Language**: [Kotlin](https://kotlinlang.org/) |
| 43 | +- **UI**: [Jetpack Compose](https://developer.android.com/jetpack/compose) |
| 44 | +- **DI**: [Koin](https://insert-koin.io/) |
| 45 | +- **Navigation**: [Navigation Compose](https://developer.android.com/jetpack/compose/navigation) |
| 46 | + - Note: once a stable release of Compose Navigation 3 is released, the project will be updated accordingly |
| 47 | +- **Logging**: [Timber](https://github.com/JakeWharton/timber) |
| 48 | +- **Build**: [Gradle Kotlin DSL](https://docs.gradle.org/current/userguide/kotlin_dsl.html) |
| 49 | + |
| 50 | +## 🤝 Contributing |
| 51 | +Found a bug or have an improvement? Feel free to open an issue or submit a pull request! |
| 52 | + |
| 53 | +## 📄 License |
| 54 | +This template is available under the MIT License. See the [LICENSE](LICENSE) file for more info. |
| 55 | + |
| 56 | +--- |
| 57 | + |
| 58 | +**Happy coding!** 🎉 If this template helped you, consider giving it a ⭐️ |
| 59 | + |
0 commit comments