A minimal boilerplate project designed to kickstart new Android application development. This boilerplate is pre-configured with a modern tech stack, including Hilt for dependency injection, Jetpack Navigation 3, and an alpha version of Compose BOM to explore the latest Material 3 expressive features.
- Minimal Setup: Intentionally lean to provide a clean slate for your project.
- Jetpack Compose: Built with a modern declarative UI toolkit.
- Material 3 Expressive (via Alpha Version): Experiment with the latest Material Design 3 expressive features using an alpha version of Compose BOM.
- Hilt: For robust dependency injection.
- Navigation 3: For navigating between composable screens (leveraging the latest navigation patterns).
- MVVM Architecture: A foundational MVVM pattern to get you started.
- Kotlin
- Jetpack Compose (Alpha version for Material 3 expressive features)
- Hilt (for Dependency Injection)
- Navigation Compose
- AndroidX Libraries
- Android Studio (latest stable version, or consider using the latest Canary version of Android Studio for the best compatibility with alpha versions of Jetpack Compose).
- Clone the repository:
git clone https://github.com/cavin-macwan/jetpack-boilerplate.git
- Open the project in Android Studio.
- Let Android Studio sync the Gradle files and download the necessary dependencies.
- Build and run the application on an emulator or a physical device.
(Adjust this section if your actual structure differs significantly)
Jetpack Boilerplate/
├── app/
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/com/meticha/jetpackboilerplate/ # Main application code
│ │ │ │ ├── di/ # Hilt dependency injection modules
│ │ │ │ ├── navigation/ # Navigation graph and setup
│ │ │ │ ├── ui/ # UI components (themes, composables)
│ │ │ │ ├── feature/ # Screens, ViewModels for specific features
│ │ │ │ └── MyApplication.kt # Application class
│ │ │ └── res/ # Resources (drawables, strings)
│ │ └── AndroidManifest.xml
│ └── build.gradle.kts # App-level Gradle file
├── gradle/
│ └── libs.versions.toml # Version catalog
└── build.gradle.kts # Project-level Gradle file
This project serves as a starting point. Key benefits include:
- Rapid Prototyping: Quickly test out new ideas with a modern Android setup.
- Learning Resource: Explore how Hilt, Navigation Compose, and Material 3 expressive features work together.
- Foundation for New Apps: Build upon this boilerplate by adding your unique features and business logic.
You can extend it by:
- Adding new screens (Composables).
- Implementing new features and business logic.
- Updating dependencies in
gradle/libs.versions.tomlas new stable versions are released.
Contributions are welcome! If you'd like to contribute, please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature-name). - Make your changes.
- Commit your changes (
git commit -m 'Add some feature'). - Push to the branch (
git push origin feature/your-feature-name). - Open a Pull Request.
This project is licensed under the MIT License - see the LICENSE.md file for details.
