Una Progressive Web App mobile-first per registrare entrate e uscite personali. Backend in Laravel, frontend in JS vanilla — nessun framework pesante, solo velocità ed essenzialità.

Funzionalità

  • Registrazione transazioni con categorie personalizzate
  • Dashboard mensile con grafici generati lato server
  • Supporto PWA — installabile, funziona offline per i dati recenti

Scelte tecniche

Laravel era la scelta naturale: Eloquent gestisce i dati relazionali in modo pulito e Sanctum semplifica l’autenticazione senza over-engineering.

// Filtro transazioni per mese — pattern scope
public function scopeForMonth(Builder $query, string $month): Builder
{
    return $query->whereRaw("DATE_FORMAT(date, '%Y-%m') = ?", [$month]);
}

MySQL memorizza transazioni, categorie e aggregati mensili. Nginx + PHP-FPM su VPS. Il service worker PWA mette in cache gli ultimi 30 giorni di dati per la lettura offline.

Stato

In sviluppo attivo. Il flusso core delle transazioni funziona. Report ed esportazione in corso.

Il workflow di deploy è documentato in Deploy su VPS con un solo script Bash.