JoeLedger
Analisi delle spese personali su tredici anni di dati reali: non un altro tracker, ma uno strumento per confrontare le categorie anno su anno.
Il problema
Dal 2013 annoto le spese su un'app Android: oltre quattordicimila movimenti. L'app però mostra solo il saldo e il mese in corso: non permette di vedere come una categoria si è mossa negli anni, né di confrontare l'anno in corso con lo stesso periodo degli anni precedenti.
Il backup dell'app è cifrato in un formato chiuso, e l'unica uscita era un'esportazione CSV. Da lì è nato un catalogatore che importa, normalizza e confronta.
Come funziona
Struttura
Conti, categorie, sottocategorie e movimenti in tabelle proprie dentro JoeCMS. Tre viste: un riepilogo, l'elenco dei movimenti e la pagina di confronto, che è il cuore del progetto.
Flusso d'uso
Si esporta il CSV dall'app e lo si carica. L'importatore sincronizza: aggiorna le righe cambiate, aggiunge le nuove, toglie quelle sparite nel periodo coperto dal file. Poi si sceglie una categoria o una sottocategoria e la si confronta anno su anno, per settimana, mese o anno.
Scelte tecniche
Import ripetibile senza doppioni grazie a un'impronta per movimento, tutto in una transazione annullabile. Le regole sui dati sono scritte: persone e luoghi restano categorie, quando categoria e sottocategoria sono invertite vince la principale, gli importi positivi sul conto spese contano come entrate.
Limiti noti
È in progettazione: l'importatore e le pagine esistono, la nuova grafica è approvata ma non ancora portata nei template, e l'import del file completo va validato prima della messa online.
Numeri
| Movimenti dal 2013 | 14.373 |
|---|---|
| Anni di dati | 13 |
| Categorie principali | 82 |
| Sottocategorie | 1.278 |
| Conti | 4 |
Stack
- PHP 8
- MySQL
- JoeCMS
- Chart.js