https://github.com/radiokot/4money
WIP: Could be a budget tracking app inspired by 1Money
https://github.com/radiokot/4money
1money budget expense-tracker kotlin-android powersync supabase
Last synced: 7 months ago
JSON representation
WIP: Could be a budget tracking app inspired by 1Money
- Host: GitHub
- URL: https://github.com/radiokot/4money
- Owner: Radiokot
- License: gpl-3.0
- Created: 2025-01-24T17:31:03.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-07-20T10:00:39.000Z (7 months ago)
- Last Synced: 2025-07-20T12:04:37.503Z (7 months ago)
- Topics: 1money, budget, expense-tracker, kotlin-android, powersync, supabase
- Language: Kotlin
- Homepage:
- Size: 745 KB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: COPYING.txt
Awesome Lists containing this project
README
# 4Money
I'm building a budget tracking app inspired by [1Money](https://play.google.com/store/apps/details?id=org.pixelrush.moneyiq), which was very nice but got screwed up.
The bar for such applications is quite high. My current goal is not to build a general purpose budget tracker for wide audience,
but only to cover the needs of my family and have some fun meanwhile. It's also my first Compose app, so I am actively learning.
Key aspects of the app:
- Local-first data storage
- Fast and reliable sync between devices
- Ability to self-host the backend
- Convenient handling of currency exchange
- Convenient handling of currencies with high precision
If you're looking for 1Money migration, there's `OneMoneyConvert` script in this repo which reads 1Money CSV exports.
You can modify it to get desired outputs.
If you're exploring PowerSync use case examples, take a look at:
- `AtomicCrudSupabaseConnector`
- `PowerSyncTransferHistoryRepository`
- `PowerSyncTransferFundsUseCase`
- `BackgroundPowerSyncWorker`
## Tech stack
- Kotlin
- Compost UI & Navigation
- Flow & coroutines for concurrency
- Koin for dependency injection
- Supabase as a backend
- PowerSync for local-first data storage and synchronization
- kotlin-logging & logback-android for logging