Description
A modern native Android personal finance app built the way Google recommends: Kotlin, Jetpack Compose, Material 3, Navigation Compose, MVVM with StateFlow, Room and DataStore. 5 screens, clean package structure, unit and screenshot tests.

Features
- Dashboard: spent this month, budget progress, top categories, recent expenses
- Expenses list with search and category filters
- Add, edit and delete expenses: amount, title, category, note
- Statistics: donut chart and per-category breakdown with percentages
- Settings: light, dark or system theme, currency ($, €, £, ₹, ¥), monthly budget, delete all data
- 8 categories with icons and colors, easy to extend
- Bottom navigation and floating add button
- Offline: Room database for expenses, DataStore for preferences
- Unit tests and Paparazzi screenshot tests
Tech stack
- Kotlin 1.9, Jetpack Compose (BOM 2024.06), Material 3
- Navigation Compose
- Room 2.6 with KSP
- Jetpack DataStore Preferences
- ViewModel + StateFlow (MVVM)
- Gradle Kotlin DSL, AGP 8.5, minSdk 24, targetSdk 34
Requirements
- Android Studio Koala (2024.1) or newer
- JDK 17
- Android SDK 34
How to install and run
- Unzip the archive and open the folder in Android Studio
- Wait for Gradle sync and press Run
- Or build from the command line with
./gradlew assembleDebug - Run tests with
./gradlew testDebugUnitTest
How to rebrand
- App name:
res/values/strings.xml - Colors:
ui/theme/Theme.kt(BrandPrimary, BrandSecondary, light and dark schemes) - Icon:
res/drawable/ic_launcher_foreground.xml,res/values/ic_launcher_background.xmlandres/mipmap-*, or File > New > Image Asset - Package id:
applicationIdandnamespaceinapp/build.gradle.kts, then Refactor > Rename the package (current: com.appforge.expenses) - Categories:
data/Category.kt
What’s included
- Full Android Studio project with Kotlin source code and Gradle wrapper
- README.md with setup, rebranding and project structure
- LICENSE file
- Screenshots folder
Screenshots

License
Commercial license: use the source code in one end product (one app) for yourself or one client, free or paid. Reselling or redistributing the source code as a template is not allowed. Full text in the LICENSE file.





Reviews
There are no reviews yet.