Android-Clean-Architecture-Template GitHub Details, Stars and Alternatives | OpenRepoFinder
onkar-c / repository
Android-Clean-Architecture-Template
A production-ready Android app template built with Kotlin and Clean Architecture. This project is meant to be a starting point for real-world apps that need a modular, testable, and maintainable architecture.
A transparent discovery signal based on current public GitHub metadata.
Recent activity35% weight
30
Community adoption25% weight
0
Maintenance state20% weight
100
License clarity10% weight
0
Project information10% weight
75
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
README preview
Android Clean Architecture Template
A production-ready Android app template built with Kotlin, Jetpack Compose, Clean Architecture, and Dagger 2, using Room as the single source of truth and Retrofit to consume TheMealDB API.
This project is meant to be a starting point for real-world apps that need a modular, testable, and maintainable architecture.
✨ Features
Multi-module Clean Architecture
:app – UI, navigation, application startup, DI entry point
:domain – pure business models and repository interfaces
:data – Room, Retrofit, mappers, repository implementations, data DI
Modern UI
Jetpack Compose + Material 3
Home screen with list of meals and favorite toggles
Details screen with image, category, area, ingredients, instructions, and external links
🍰 Production-ready Android app demonstrating Clean Architecture with multi-module setup. Built with Jetpack Compose, Material 3, MVI pattern, Hilt DI, Retrofit, Room, and Kotlin Coroutines. Perfect for learning enterprise Android development best practices.
A soulful, production-grade PDF reader for Android featuring a "Warm Paper" aesthetic, gesture-driven interface, and a high-performance modular architecture. Built with Kotlin 2.0 and Jetpack Compose
We map classic Clean Architecture concepts to modules like this:
Clean Architecture concept
This project
Entities / Business rules
:domain module
Use cases / Interactors
(can live in :domain, optional)
Interface adapters
:data (repositories, mappers, DAOs)
Frameworks & UI
:app (Compose UI, Android, DI)
Dependency rule
All dependencies point inward.
Inner layers don’t know anything about outer layers:
app (UI, Android, DI) → depends on → domain, data
data (DB, network, repo) → depends on → domain
domain (business rules) → depends on → nothing
:domain has no Android imports and no Room/Retrofit.
:data implements interfaces defined in :domain.
:app uses the abstractions from :domain and the implementations from :data.
🧱 Clean Architecture Overview
graph TD
subgraph Domain["Domain (:domain)"]
M["Meal model"]
R["MealRepository interface"]
end
subgraph Data["Data (:data)"]
E["Room entities & DAO"]
Dto["Retrofit DTOs"]
Map["DTO <-> Entity <-> Domain mappers"]
Impl["MealRepositoryImpl"]
end
subgraph App["App (:app)"]
UI["Compose UI (Home, Details)"]
VM["ViewModels"]
DI["AppComponent & ViewModelModule"]
end
UI --> VM
VM --> R
Impl --> E
Impl --> Dto
Data --> Domain
App --> Domain
App --> Data
Domain defines what the app needs (Meal, MealRepository).
Data defines how data is fetched/stored (Room, Retrofit) and implements MealRepository.
App wires everything together (Dagger), exposes ViewModels, and renders UI.
🧩 Modules
1. Domain module (:domain)
Goal: represent business concepts and contracts, independent of Android.
Contains:
model/Meal.kt – domain model representing a meal
repository/MealRepository.kt – interface defining what operations UI can do
(e.g. observe meals, toggle favorite)
Constraints:
No Android SDK imports
No Retrofit, no Room
Only Kotlin and coroutines
2. Data module (:data)
Goal: implement the contracts from :domain using infrastructure (DB + network).
Contains:
local/
MealEntity – Room entity
MealDao – DAO with queries
AppDatabase – Room database
remote/
MealApiService – Retrofit API definition
MealDto – DTO matching TheMealDB response
mapper/
Mapping between MealDto ↔ MealEntity ↔ Meal (domain)
Helper to combine strIngredient* and strMeasure* into a multi-line ingredients text
repository/
MealRepositoryImpl – implements MealRepository using DAO + API
di/
DatabaseModule – provides AppDatabase and DAOs
NetworkModule – provides OkHttp, Moshi, Retrofit, and API service
RepositoryModule – binds MealRepository to MealRepositoryImpl
🚀 A modern, production-ready Android template featuring Secure Authentication and Real-Time Chat. Built with Jetpack Compose, MVVM, and Clean Architecture, it integrates WebSockets (Ktor) for instant messaging and Dagger Hilt for dependency injection. Supports both Firebase and SQL backends with a polished Material Design 3 UI.
A modular, scalable, and testable Android application built using Clean Architecture, Kotlin, Jetpack Compose, Coroutines, Flow, Hilt, and MVVM. This template provides a solid foundation for building production‑ready Android apps following best practices.