No description
- Kotlin 97.3%
- PowerShell 1.6%
- Shell 1.1%
|
|
||
|---|---|---|
| app | ||
| docs | ||
| scripts | ||
| .gitignore | ||
| build.gradle.kts | ||
| gradle.properties | ||
| README.md | ||
| settings.gradle.kts | ||
m3e — Budget perso
App Android de budget zéro-based, type YNAB. Kotlin, Jetpack Compose, Material 3 Expressive.
Données locales en JSON, pas de cloud. Prévu pour sync homelab plus tard.
Prototype actif — cf.
docs/SPEC.mdpour le détail.
Ce que ça fait
- Budget — navigation mensuelle, enveloppes par catégorie, barres de progression wavy M3.
- Comptes — gestion des comptes bancaires avec aperçu en temps réel.
- Mouvements — liste de transactions avec headers sticky par mois/jour, saisie dépense/revenu.
Ce qui manque
- Transactions récurrentes, objectifs (cibles), gestion des dépassements.
- Onglet Analyses (graphiques, patrimoine).
- Multi-devises, import CSV, sync homelab, partage familial.
Stack
Kotlin 2.3 · Compose + M3 Expressive · Gradle KTS · minSdk 26 · targetSdk 36 · JDK 17
Persistance : fichier JSON local (files/budget.json), montants en centimes (Long).
Deux flavors : staging (Budget 🧪, sandbox) et prod (Budget).
Build
./scripts/dev.sh # sync + build + APK
Format JSON (v3)
{
"v": 3,
"categories": [
{ "id": 4, "groupId": 1, "name": "Loyer",
"target": { "type": "monthly", "cents": 85000 } }
],
"months": { "2026-08": { "assignments": { "4": 85000 } } },
"recurring": [
{ "id": 90, "accountId": 15, "payee": "Loyer", "categoryId": 4,
"amountCents": -85000, "freq": "monthly", "interval": 1,
"nextDate": "2026-09-01" }
]
}
Les champs absents sont tolérés au chargement (migration silencieuse).
Hébergement
Forgejo self-hosted : https://git.boby-cod.duckdns.org/alexis/demo_m3
Licence
Usage personnel. Redistribution soumise à accord de l'auteur.
