-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Andrés Pedraza Míguez edited this page Dec 6, 2025
·
4 revisions
ExpenseShareApp is a modular Android application designed for travelers to manage shared expenses efficiently. It focuses on Clean Architecture, modularity, and modern Android development practices.
To provide a seamless experience for creating expense groups, tracking spending in multiple currencies, and calculating debts/balances between users, with offline support and cloud synchronization.
The project follows Clean Architecture with MVVM and a multi-module structure:
-
:app: Entry point and dependency injection setup. -
:core: Shared components (:core:ui,:core:config). -
:domain: Pure Kotlin business logic (Models, UseCases, Repository Interfaces). -
:data: Implementation of repositories (Firebase, Room, Retrofit). -
:ui: Feature-specific modules (e.g.,:ui:feature-expenses,:ui:settings).
- Language: Kotlin
- UI: Jetpack Compose (Material 3)
- DI: Koin
- Async: Coroutines & Flow
- Navigation: Jetpack Navigation Compose
- Backend: Firebase (Auth, Firestore) + Room (Local Cache)
Check the sidebar to navigate through specific architectural concepts like our ScreenUiProvider system, Navigation strategies, and UI patterns.