🚀 Jetpack Android Starter
A starting template for modern Android development that takes the pain out of setting up a new project. Built on the foundation of Now In Android's architecture, it provides a starting point for both new and experienced Android developers.
"Android Development is Easy until You Rotate the Device"
📱 Apps Built With This Template
Check out apps built with this template here.
☃️ Why This Template?
- Authentication: Firebase authentication with Google Sign-In and email/password
- Clean Architecture: Clear separation of concerns with a modular, scalable architecture
- Modern Tech Stack: Latest Android development tools including Jetpack Compose
- Type-Safe Navigation: Fully typed navigation using Kotlin serialization
- Robust Data Management: Repository pattern with Room and DataStore
- Firebase Integration: Auth, Firestore, Analytics, and Crashlytics
- Background Sync: Data synchronization using WorkManager
- Multilingual Support: Runtime localization update with support for RTL languages
- CI/CD: Automated build, release, and deployment with GitHub Actions
Before preparing an app for release, review the sync limitations, state and error-handling limitations, and release checklist. Existing projects also need an upgrade compatibility plan.
📂 Technical Stack
💾 Core Libraries
- UI: Jetpack Compose, Material3
- DI: Dagger Hilt
- Async: Kotlin Coroutines & Flow
- Network: Retrofit, OkHttp
- Storage: Room DB, DataStore
- Firebase: Auth, Firestore, Analytics, Crashlytics
- Others: WorkManager, Coil, Timber, Lottie
🏗️ Build & Tools
- Kotlin 2.4.10
- AGP 9.3.1 with Gradle 9.6.1 and Version Catalogs
- Java 21
- Custom Gradle Convention Plugins
- Dokka and MkDocs Material for documentation
- ktlint and Spotless for code formatting

📖 Documentation
📚 Full Documentation
🎯 Getting Started
🏛️ Architecture & Design
🎨 Customize the App
🚧 Development Tools