My Wallet is a free and open source money management android app.(forked from My-Wallet since it's no longer supported) It's written using 100% Kotlin and Jetpack Compose. It's designed to help you keep track of your personal finances with ease.
Think of My Wallet as a manual expense tracker that tries to replace the good old spreadsheet for managing your finances.
Do you know? Ask yourself.
-
How much money do I have in total?
-
How much did I spend this month and what did I spend it on?
-
How much can I spend and still meet my financial goals?
A money management app can help you answer these questions.
To support our free open source project, please give it a star. ⭐
- Java 17+
- The latest stable Android Studio (for easy install use JetBrains Toolbox)
1. Fork and clone the repo
Instructions in CONTRIBUTING.md.
My Wallet is a great place to code and learn. That's why we also link to great learning materials (books, articles, videos), check them out in docs/resources 📚.
Make sure to check out our short Developer Guidelines 🏗️ to learn more about the technical side of the My Wallet.
- 100% Kotlin
- 100% Jetpack Compose
- Material3 design (UI components)
- Kotlin Coroutines (structured concurrency)
- Kotlin Flow (reactive data stream)
- Hilt (DI)
- ArrowKt (functional programming)
- JUnit4 (test framework, compatible with Android)
- Kotest (unit test assertions)
- Paparazzi (screenshot testing)
- Ktor client (HTTP client)
- Kotlinx Serialization (JSON serialization)
- Gradle KTS (Kotlin DSL)
- Gradle convention plugins (build logic)
- Gradle version catalogs (dependencies versions)
- GitHub Actions (CI/CD)
- Fastlane (uploads the app to the Google Play Store)
- Firebase Crashlytics (stability monitoring)
- Timber (logging)
- Detekt (linter)
- Ktlint (linter)
- Slack's compose-lints (linter)