An open API service indexing awesome lists of open source software.

https://github.com/atick-faisal/Jetpack-Android-Starter

Starter code for Android Kotlin Project with Jetpack Compose 🚀
https://github.com/atick-faisal/Jetpack-Android-Starter

android clean-architecture convention-plugin gradle-kotlin-dsl hilt-android jetpack-compose kotlin kotlin-coroutines multimodule mvvm okhttp3 retrofit2 template version-catalog

Last synced: 3 months ago
JSON representation

Starter code for Android Kotlin Project with Jetpack Compose 🚀

Awesome Lists containing this project

README

        

![Jetpack Logo](https://github.com/atick-faisal/Jetpack-Compose-Starter/assets/38709932/6d8f68ad-3045-4736-99ed-86c1593f1241)






# 🚀 Jetpack Android Starter

A robust, production-ready template for modern Android development that takes the pain out of
setting up a new project. Built on the foundation
of [Now In Android](https://github.com/android/nowinandroid)'s architecture, this template provides
a comprehensive starting point for both new and experienced Android developers.

![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/rainbow.png)

## 📱 Apps Built With This Template

![Feature Graphic](https://github.com/user-attachments/assets/17e81025-2184-4a5a-8485-8b18de3cbabb)

Check out apps built with this
template [here](https://github.com/atick-faisal?tab=repositories&q=&type=source&language=kotlin&sort=).

![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/rainbow.png)

## ☃️ Why This Template?

- **Production-Ready 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

![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/rainbow.png)

## 📂 Technical Stack

### 💾 Core Libraries

- **UI**: [Jetpack Compose](https://developer.android.com/compose), [Material3](https://m3.material.io/)
- **DI**: [Dagger Hilt](https://dagger.dev/hilt/)
- **Async**: [Kotlin Coroutines](https://kotlinlang.org/docs/coroutines-overview.html) & [Flow](https://kotlinlang.org/docs/flow.html)
- **Network**: [Retrofit](https://square.github.io/retrofit/), [OkHttp](https://square.github.io/okhttp/)
- **Storage**: [Room DB](https://developer.android.com/training/data-storage/room), [DataStore](https://developer.android.com/topic/libraries/architecture/datastore)
- **Firebase**: [Auth](https://firebase.google.com/docs/auth/android/start), [Firestore](https://firebase.google.com/docs/firestore/quickstart), [Analytics](https://firebase.google.com/docs/analytics), [Performance](https://firebase.google.com/docs/perf-mon)
- **Others**: [WorkManager](https://developer.android.com/topic/libraries/architecture/workmanager), [Coil](https://coil-kt.github.io/coil/), [Timber](https://github.com/JakeWharton/timber), [Lottie](https://airbnb.io/lottie/)

### 🏗️ Build & Tools

- [Kotlin 2.0](https://kotlinlang.org/)
- [Gradle 8.11.1](https://docs.gradle.org/current/userguide/userguide.html) with [Version Catalogs](https://docs.gradle.org/current/userguide/version_catalogs.html)
- [Java 21](https://openjdk.java.net/projects/jdk/21/)
- Custom [Gradle Convention Plugins](https://docs.gradle.org/current/userguide/custom_plugins.html)
- [Dokka](https://kotlinlang.org/docs/dokka-introduction.html) and [MkDocs Material](https://squidfunk.github.io/mkdocs-material/) for documentation
- [ktlint](https://github.com/pinterest/ktlint) and [Spotless](https://github.com/diffplug/spotless) for code formatting

![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/rainbow.png)

## 📖 Documentation

### [📚 Full Documentation](https://atick.dev/Jetpack-Android-Starter)

### 🎯 Getting Started

- [Quick Start Guide](docs/getting-started.md)
- [Firebase Setup](docs/firebase.md)
- [Dependency Management](docs/dependency.md)

### 🏛️ Architecture & Design

- [Architecture Overview](docs/architecture.md)
- [Design Philosophy](docs/philosophy.md)
- [Adding New Features](docs/guide.md)

### 🚧 Development Tools

- [Convention Plugins](docs/plugins.md)
- [Code Style with Spotless](docs/spotless.md)
- [Performance Optimization](docs/performance.md)
- [Useful Tips & Tricks](docs/tips.md)

### ⚡ Deployment

- [GitHub CI/CD Setup](docs/github.md)
- [Fastlane Configuration](docs/fastlane.md)

### [📚 API Reference](https://atick.dev/Jetpack-Android-Starter/api/)


Qatar University Machine Learning Group