Bilancio

Micro-app della suite Piggybank

Entrate: **€ :sum[be]{path="entrate" field="importo"}** · Uscite: **€ :sum[bu]{path="spese" field="importo"}**

▶ Usa questa app

spazio dati «casa» — questa micro app legge e scrive lo spazio dati condiviso dalla suite.

Le altre micro app della stessa suite

Come funziona

Questa è un'app Reactive: un semplice documento di testo che il browser trasforma in un'app funzionante — moduli, dati dal vivo, tabelle, statistiche e persino grafici, senza installare né configurare nulla.

  1. Usala subito. Premi «Usa questa app»: si apre subito nel tuo browser, già pronta, con i dati salvati solo sul tuo dispositivo.
  2. I tuoi dati restano tuoi. Tutto è memorizzato in locale sul dispositivo, separato per ogni app: niente account, niente server, niente da configurare.
  3. Rendila tua. Il testo qui sotto è l'app per intero: copialo, cambia campi, viste e parole, e le modifiche diventano subito interattive.
  4. Condividila come file. Un'app è un semplice file: salvalo, esportalo o condividilo con un link; e con la collaborazione cifrata più persone modificano gli stessi dati in tempo reale.
Il testo dell'app
# 📊 Bilancio

## Come stiamo andando

Entrate: **€ :sum[be]{path="entrate" field="importo"}** ·
Uscite: **€ :sum[bu]{path="spese" field="importo"}**

:::python{data="spese,entrate" packages="matplotlib"}
```
import matplotlib.pyplot as plt

spese = data.get("spese", [])
entrate = data.get("entrate", [])
tot_u = sum(float(r.get("importo", 0) or 0) for r in spese)
tot_e = sum(float(r.get("importo", 0) or 0) for r in entrate)
print(f"Saldo: € {tot_e - tot_u:.2f}")

if spese:
    percat = {}
    for r in spese:
        c = r.get("categoria") or "Altro"
        percat[c] = percat.get(c, 0) + float(r.get("importo", 0) or 0)
    fig, ax = plt.subplots(figsize=(6, 3.2))
    ax.bar(list(percat.keys()), list(percat.values()))
    ax.set_ylabel("€")
    ax.set_title("Uscite per categoria")
    plt.xticks(rotation=20)
    plt.tight_layout()
else:
    print("Aggiungi qualche spesa per vedere il grafico per categoria.")
```
:::