Campus — segreteria scolastica
La segreteria scolastica che sta in un file: iscrizioni, richieste di certificati, ricevimento e circolari. Tutto resta sul tuo dispositivo.
spazio dati «campus» — il collante della suite: sul tuo dispositivo, multi-utente con un invito (link o QR), cifrato end-to-end.
oppure aprila come app unica
Cosa registra
- Nome e cognome dello studente
- Classe e sezione (es. 2B)
- Contatto famiglia (email o telefono)
- Note (esoneri, documenti mancanti...)
- Richiedente (famiglia, studente, ente)
- Tipo di richiesta...
- Stato...
- Note (documenti mancanti, urgenza...)
- Ora (es. 10:30)
- Chi viene (famiglia, docente, fornitore...)
- Motivo dell'appuntamento
- Numero (es. 42/2026)
- Oggetto della circolare
- Destinatari...
- Testo della circolare
Composta da 5 micro app
Un compito ciascuna, sugli stessi dati: ogni micro app legge e scrive lo spazio dati condiviso «campus» (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.
- Usala subito. Premi «Usa questa app»: si apre subito nel tuo browser, già pronta, con i dati salvati solo sul tuo dispositivo.
- I tuoi dati restano tuoi. Tutto è memorizzato in locale sul dispositivo, separato per ogni app: niente account, niente server, niente da configurare.
- Rendila tua. Il testo qui sotto è l'app per intero: copialo, cambia campi, viste e parole, e le modifiche diventano subito interattive.
- 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
# 🎓 Campus
La segreteria scolastica che sta in un file: iscrizioni, richieste di certificati, ricevimento e circolari. Tutto resta sul tuo dispositivo.
:::::page{title="Cruscotto" icon="📊"}
## La segreteria in un colpo d'occhio
:::grid{cols="3"}
**Iscritti**
:count[nisc]{path="iscritti"}
---
**Richieste in carico**
:count[nric]{path="richieste"}
---
**Circolari emesse**
:count[ncir]{path="circolari"}
:::
## Richieste per stato
::::if-empty{path="richieste"}
*Nessuna richiesta ancora: protocolla la prima dalla pagina Richieste.*
::::
:::group-by{path="richieste" field="stato" as="list"}
**{tipo}** — {richiedente} · {data}
:::
:::::
:::::page{title="Iscrizioni" icon="👥"}
## Anagrafica degli iscritti
::::form{path="iscritti" id="fisc"}
::input{form="fisc" field="nome" placeholder="Nome e cognome dello studente" required="true"}
::input{form="fisc" field="classe" placeholder="Classe e sezione (es. 2B)"}
::input{form="fisc" field="iscrizione" type="date" legend="Data di iscrizione"}
::input{form="fisc" field="contatto" placeholder="Contatto famiglia (email o telefono)"}
::input{form="fisc" field="note" placeholder="Note (esoneri, documenti mancanti...)"}
::add-form{form="fisc" path="iscritti" label="Registra iscrizione"}
::::
:::table{path="iscritti" headers="Studente,Classe,Iscritto il,Contatto famiglia,Note" deletable="true" editform="fisc"}
**{nome}** | {classe} | {iscrizione} | {contatto} | {note}
:::
## Per classe
:::group-by{path="iscritti" field="classe" as="list"}
**{nome}** — {contatto}
:::
:::::
:::::page{title="Richieste" icon="🗂️"}
## Protocollo di certificati e pratiche
::::form{path="richieste" id="fric"}
::input{form="fric" field="data" type="date" required="true" legend="Ricevuta il"}
::input{form="fric" field="richiedente" placeholder="Richiedente (famiglia, studente, ente)" required="true"}
:::select{form="fric" field="tipo" placeholder="Tipo di richiesta..."}
- Certificato di iscrizione
- Certificato di frequenza
- Nulla osta / trasferimento
- Copia diploma
- Altro
:::
:::select{form="fric" field="stato" placeholder="Stato..."}
- Ricevuta
- In lavorazione
- Pronta per il ritiro
- Consegnata
:::
::input{form="fric" field="note" placeholder="Note (documenti mancanti, urgenza...)"}
::add-form{form="fric" path="richieste" label="Protocolla richiesta"}
::::
:::table{path="richieste" headers="Ricevuta,Richiedente,Tipo,Stato,Note" deletable="true" editform="fric"}
{data} | **{richiedente}** | {tipo} | {stato} | {note}
:::
:::::
:::::page{title="Ricevimento" icon="📅"}
## Appuntamenti in segreteria
::::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="persona" placeholder="Chi viene (famiglia, docente, fornitore...)" required="true"}
::input{form="fapp" field="motivo" placeholder="Motivo dell'appuntamento"}
::add-form{form="fapp" path="appuntamenti" label="Fissa appuntamento"}
::::
:::calendar{path="appuntamenti" field="data"}
{ora} {persona} · {motivo}
:::
:::::
:::::page{title="Circolari" icon="📣"}
## Comunicazioni della scuola
::::form{path="circolari" id="fcir"}
::input{form="fcir" field="numero" placeholder="Numero (es. 42/2026)" required="true"}
::input{form="fcir" field="data" type="date" required="true" legend="Data"}
::input{form="fcir" field="titolo" placeholder="Oggetto della circolare" required="true"}
:::select{form="fcir" field="destinatari" placeholder="Destinatari..."}
- Famiglie
- Docenti
- Personale ATA
- Tutti
:::
::input{form="fcir" field="testo" placeholder="Testo della circolare"}
::add-form{form="fcir" path="circolari" label="Emetti circolare"}
::::
::::card{id="albo" title="Registro delle circolari"}
:::sort{path="circolari" field="data" order="desc" as="list" deletable="true"}
**n. {numero}** del {data} — **{titolo}** ({destinatari}): {testo}
:::
::::
::print{target="albo" label="Stampa / PDF per l'albo"}
:::::