CatalogoScuola e PA ›Enti e uffici pubblici

Townhall — gestionale per il comune

Il gestionale del comune che sta in un file: protocollo, segnalazioni, atti e sportello. Tutto resta sul tuo dispositivo.

📊 Cruscotto🗂️ Protocollo🚧 Segnalazioni📜 Atti📅 Sportello🗺️ Territorio

spazio dati «townhall» — il collante della suite: sul tuo dispositivo, multi-utente con un invito (link o QR), cifrato end-to-end.

▶ Apri la suite (6 micro-app)

oppure aprila come app unica

comuneprotocollopratichesegnalazionideliberealbo pretoriosportello

Cosa registra

  • Oggetto della pratica
  • Cittadino / richiedente
  • Ufficio...
  • Stato...
  • Note (documenti mancanti, referente...)
  • Cosa succede (buca, lampione, rifiuti...)
  • Dove (via, piazza, frazione)
  • Tipo...
  • Stato...
  • Numero (es. 42/2026)
  • Tipo di atto...
  • Oggetto dell'atto
  • Ufficio / responsabile
  • Ora (es. 10:30)
  • Cittadino
  • Ufficio...
  • Motivo dell'appuntamento
  • Comune (es. Roma)

Composta da 6 micro app

Un compito ciascuna, sugli stessi dati: ogni micro app legge e scrive lo spazio dati condiviso «townhall» (col tuo consenso, chiesto alla prima apertura). Tutto resta sul tuo dispositivo — e con un solo invito l'intera suite diventa multi-utente, cifrata end-to-end.

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
# 🏛️ Townhall

Il gestionale del comune che sta in un file: protocollo, segnalazioni, atti e sportello. Tutto resta sul tuo dispositivo.

:::::page{title="Cruscotto" icon="📊"}
## Il comune in un colpo d'occhio

:::grid{cols="3"}
**Pratiche protocollate**

:count[npra]{path="pratiche"}

---

**Segnalazioni**

:count[nseg]{path="segnalazioni"}

---

**Atti pubblicati**

:count[natt]{path="atti"}
:::

## Pratiche per stato

::::if-empty{path="pratiche"}
*Nessuna pratica ancora: protocolla la prima dalla pagina Protocollo.*
::::

:::group-by{path="pratiche" field="stato" as="list"}
**{oggetto}** — {richiedente} · {ufficio}
:::
:::::

:::::page{title="Protocollo" icon="🗂️"}
## Registro delle pratiche

::::form{path="pratiche" id="fpra"}
::input{form="fpra" field="data" type="date" required="true" legend="Ricevuta il"}
::input{form="fpra" field="oggetto" placeholder="Oggetto della pratica" required="true"}
::input{form="fpra" field="richiedente" placeholder="Cittadino / richiedente" required="true"}
:::select{form="fpra" field="ufficio" placeholder="Ufficio..."}
- Anagrafe
- Tributi
- Tecnico
- Servizi sociali
- Polizia locale
- Altro
:::
:::select{form="fpra" field="stato" placeholder="Stato..."}
- Ricevuta
- In lavorazione
- Sospesa
- Chiusa
:::
::input{form="fpra" field="note" placeholder="Note (documenti mancanti, referente...)"}
::add-form{form="fpra" path="pratiche" label="Protocolla"}
::::

:::table{path="pratiche" headers="Ricevuta,Oggetto,Richiedente,Ufficio,Stato" deletable="true" editform="fpra"}
{data} | **{oggetto}** | {richiedente} | {ufficio} | {stato}
:::

## Per ufficio

:::group-by{path="pratiche" field="ufficio" as="list"}
{data} — **{oggetto}** ({richiedente}) · {stato}
:::
:::::

:::::page{title="Segnalazioni" icon="🚧"}
## Dai cittadini al cantiere

::::form{path="segnalazioni" id="fseg"}
::input{form="fseg" field="data" type="date" required="true" legend="Segnalata il"}
::input{form="fseg" field="oggetto" placeholder="Cosa succede (buca, lampione, rifiuti...)" required="true"}
::input{form="fseg" field="luogo" placeholder="Dove (via, piazza, frazione)" required="true"}
:::select{form="fseg" field="tipo" placeholder="Tipo..."}
- Strade
- Illuminazione
- Verde pubblico
- Rifiuti
- Altro
:::
:::select{form="fseg" field="stato" placeholder="Stato..."}
- Aperta
- In corso
- Risolta
:::
::add-form{form="fseg" path="segnalazioni" label="Registra segnalazione"}
::::

:::table{path="segnalazioni" headers="Segnalata,Oggetto,Luogo,Tipo,Stato" deletable="true" editform="fseg"}
{data} | **{oggetto}** | {luogo} | {tipo} | {stato}
:::

## Per stato

:::group-by{path="segnalazioni" field="stato" as="list"}
{data} — **{oggetto}** ({luogo}) · {tipo}
:::
:::::

:::::page{title="Atti" icon="📜"}
## Delibere, determine e ordinanze

::::form{path="atti" id="fatt"}
::input{form="fatt" field="numero" placeholder="Numero (es. 42/2026)" required="true"}
::input{form="fatt" field="data" type="date" required="true" legend="Data"}
:::select{form="fatt" field="tipo" placeholder="Tipo di atto..."}
- Delibera di Giunta
- Delibera di Consiglio
- Determina
- Ordinanza
:::
::input{form="fatt" field="oggetto" placeholder="Oggetto dell'atto" required="true"}
::input{form="fatt" field="ufficio" placeholder="Ufficio / responsabile"}
::add-form{form="fatt" path="atti" label="Registra atto"}
::::

::::card{id="albo" title="Albo pretorio"}
:::sort{path="atti" field="data" order="desc" as="list" deletable="true"}
**{tipo} n. {numero}** del {data} — {oggetto} ({ufficio})
:::
::::

::print{target="albo" label="Stampa / PDF per l'albo"}
:::::

:::::page{title="Sportello" icon="📅"}
## Appuntamenti con i cittadini

::::form{path="appuntamenti" id="fapp"}
::input{form="fapp" field="data" type="date" required="true" legend="Giorno"}
::input{form="fapp" field="ora" placeholder="Ora (es. 10:30)" required="true"}
::input{form="fapp" field="cittadino" placeholder="Cittadino" required="true"}
:::select{form="fapp" field="ufficio" placeholder="Ufficio..."}
- Anagrafe
- Tributi
- Tecnico
- Servizi sociali
- Polizia locale
- Altro
:::
::input{form="fapp" field="motivo" placeholder="Motivo dell'appuntamento"}
::add-form{form="fapp" path="appuntamenti" label="Fissa appuntamento"}
::::

:::calendar{path="appuntamenti" field="data"}
{ora} {cittadino} · {ufficio}
:::
:::::

:::::page{title="Territorio" icon="🗺️"}
## Riferimenti territoriali ufficiali (dati open)

I codici che servono ogni giorno in ufficio, dai dati aperti ufficiali:
comuni con codice ISTAT e targa, sempre a portata di mano.

::input[od_comune]{placeholder="Comune (es. Roma)"}

::od-query{into="od_territorio" sql="SELECT LABEL_COMUNE_IT AS comune, SIGLA_AUTOMOBILISTICA AS targa, CODICE_COMUNE AS codice, CODICE_PROVINCIA AS provincia FROM voc_istat_cities WHERE DATA_FINE_VALIDITA = '31-12-9999' AND LABEL_COMUNE_IT LIKE '%' || UPPER('{#od_comune}') || '%' ORDER BY comune" limit="20"}

:::table{path="od_territorio" headers="Comune,Targa,Codice ISTAT,Cod. provincia" search="false" pagesize="5"}
{comune} | {targa} | {codice} | {provincia}
:::

## Trova altri dataset pubblici

Descrivi a parole il dato che cerchi (es. "classificazione delle professioni")
e scopri i dataset ufficiali disponibili, con una query pronta da copiare.

::od-search{}
:::::