# Blueprint di progetto **Progetto:** Gestionale per enti del Terzo Settore **Documento:** `blueprint.md` **Versione:** 0.4.2 · **Data:** 27/09/2026 · **Stato:** Bozza senza stime; uso interno **Allineato a:** `richiesta.md` v0.4 · **Schema di versione:** vedi `indice-documenti.md` **Cosa contiene:** come si organizza la realizzazione: prerequisiti, pacchetti di lavoro (P) con le dipendenze, tappe di collaudo interne (T), rischi di pianificazione. È la base per stimare le ore del preventivo, stima non ancora fatta (§6). Cosa si costruisce è in `richiesta.md`, come si costruisce in `architettura.md`, i costi ricorrenti in `costi-ricorrenti.md`. --- ## 1. Prerequisiti ### 1.1 Prima di iniziare lo sviluppo | Prerequisito | Perché blocca | Rif. | |---|---|---| | Vincoli del bando su budget e date | Dicono se perimetro e sequenza del §4 sono compatibili; senza, il piano può essere da rifare | ⚖️ C12 | | Requisiti approvati (v1.0) e procedura per le modifiche | Senza un punto fermo ogni richiesta nuova entra nel lavoro senza stima | Q18 | | Valutazione d'impatto, se serve | Va fatta prima dello sviluppo e può imporre misure che cambiano la base applicativa (P2) | ⚖️ C13 | | Stack applicativo | Serve per impostare il progetto (P1) | B1.10 | ### 1.2 Prima di un singolo pacchetto Non bloccano l'avvio, ma fermano il pacchetto indicato se arrivano in ritardo. | Serve | Per | Rif. | |---|---|---| | Numero di enti | Dimensionare la produzione (P12) | Q1 | | Fase delle circolari | P9 in fase 1 o in fase 2 | Q26 | | Qualifica e sezione RUNTS: uno o due campi | Scheda dell'ente (P4) | Q25 | | Tipo di firma | Firma reale (P11); fino ad allora firma simulata | Q4 | | Conservazione a norma o archivio interno con marca temporale, e a nome di chi | Archiviazione definitiva dei libri (P7, P11) | Q9; ⚖️ C4, C5, C6 | | Estratti conto PDF | Importazione (P8) | Q10 | | Fattura elettronica | Proforma o integrazione (P6) | Q5 | | Schema dei progetti e formato di esportazione | Tutto M6 (P10) | Q13 | | Modo di lavoro condiviso | M6 e M7 (P10, P13) | Q19 | | Materiali del cliente: modelli di verbale e circolare, estratto conto di esempio per banca, schema del progetto, tariffe orarie | P7 e P9, P8, P10, P14 | `domande-cliente.md` §2 | | Sezioni del bilancio sociale, valore delle ore di volontariato | Fase 2 (P13, P14) | Q14, Q15 | --- ## 2. Pacchetti di lavoro La colonna "Ore" resta vuota fino alla stima (§6). ### 2.1 Avvio | # | Pacchetto | Contenuto | Rif. | Dipende da | Ore | |---|---|---|---|---|---| | P1 | Impianto del progetto | Repository, test automatici, rilascio automatico, ambienti di test e produzione in container, backup, monitoraggio | `architettura.md` §8; RT-13, RT-15, RT-16 | B1.10 | ⏳ | | P2 | Base applicativa | Accesso con seconda verifica, utenti di studio ed ente, ruoli e permessi, separazione per ente con row-level security, registro delle operazioni, notifiche, lavori in background e pianificatore, archivio file con antivirus | `architettura.md` §3–5, §7; RT-1, RT-2, RT-4, RT-9, RT-10 | P1, C13 | ⏳ | | P3 | Componenti condivisi | Flusso di approvazione, procedura guidata a sezioni, generazione di PDF e Word, firma simulata, tabelle di configurazione | `architettura.md` §3; RT-3, RT-5, RT-7 | P2 | ⏳ | ### 2.2 Fase 1 | # | Pacchetto | Contenuto | Rif. | Dipende da | Ore | |---|---|---|---|---|---| | P4 | M2 Anagrafica enti | Scheda dell'ente con le liste chiuse (qualifica, sezione RUNTS, attività art. 5 e 6) | RF-2.1–2.14 | P2 | ⏳ | | P5 | M3 Anagrafica stakeholder | Schede persona con più ruoli, controllo dei duplicati, conteggi per M2 | RF-3.1–3.3, W3 | P4 | ⏳ | | P6 | M1 Gestione cliente | Catalogo, offerte, firme, scadenziario, proforma, alert | RF-1.1–1.9, W1, W2 | P3, P4 | ⏳ | | P7 | M4 Libri sociali | Libro soci, registro volontari, verbali, flusso di approvazione, archiviazione, correzioni come voci collegate | RF-4.1–4.7, W4 | P3, P5 | ⏳ | | P8 | M5 Contabilità | Calendario e alert, caricamenti, importazione con mappatura, imputazione sul Modello D, rendiconto, relazione illustrativa | RF-5.1–5.7, W5 | P3, P4 | ⏳ | | P9 | M8 Circolari | Scrittura, scelta dei destinatari, invio via email e nell'app, stato di lettura | RF-8.1–8.2, RF-1.10, W7 | P2, P4 | ⏳ | | P10 | M6 Progettazione | Procedura guidata a sezioni, lavoro condiviso, esportazione | RF-6.1–6.5, W6 | P3, P4, Q13 | ⏳ | | P11 | Servizi esterni reali | Firma del fornitore (sandbox negli ultimi 40 giorni), marche temporali via API, conservazione a norma se richiesta da Q9 | RT-5, RT-6; `costi-ricorrenti.md` §3, nota 3 | P6, P7, Q4, Q9 | ⏳ | | P12 | Messa in produzione | Server dimensionato, account dei fornitori intestati a Davide, contratti sul trattamento dei dati, prova di ripristino | RT-11, RT-13, D10; ⚖️ C1 | P8–P11, T4 | ⏳ | ### 2.3 Fase 2 | # | Pacchetto | Contenuto | Rif. | Dipende da | Ore | |---|---|---|---|---|---| | P13 | M7 Rendicontazione sociale | Procedura guidata precompilata con i dati di M2, M3 e M5 | RF-7.1–7.4, W8 | P3, P5, P8, Q14, Q19 | ⏳ | | P14 | M9 Valutazione volontariato | Tariffe per attività, time sheet, valorizzazione delle ore | RF-9.1–9.4, W9 | P3, P5, Q15 | ⏳ | ### 2.4 Per tutto il progetto | # | Pacchetto | Contenuto | Rif. | Dipende da | Ore | |---|---|---|---|---|---| | P15 | Collaudo con il cliente | Preparazione e conduzione delle tappe (§3), validazione delle ipotesi 🔸, correzioni che ne derivano | `richiesta.md` §7 | Ogni tappa | ⏳ | | P16 | Documento di consegna | Accessi, configurazioni, procedure operative (rilascio, ripristino, fornitore che non risponde) | RT-15; `architettura.md` §8.2 | P12 | ⏳ | | P17 | Passaggio dei servizi al cliente | Trasferimento di account, dominio, backup e contratti a fine primo anno | RT-15, D11, B1.9 | P16, Q23 | ⏳ | | P18 | Gestione del progetto | Incontri, gestione delle richieste di modifica; 🔸 supporto alla rendicontazione del bando | Q18; ⚖️ C7 | — | ⏳ | --- ## 3. Tappe di collaudo interne Rilasci intermedi **nell'ambiente di test, con dati finti** (RT-10), per far provare il software al cliente mentre si sviluppa. **Non cambiano le fasi** concordate (fase 1 e fase 2, `richiesta.md` §2): servono a validare presto le ipotesi 🔸, quando correggerle costa meno. Le modifiche alla struttura dei dati che ne derivano passano da migrazioni (D12). | # | Tappa | Pacchetti | Cosa valida il cliente | |---|---|---|---| | T1 | Base e anagrafiche | P1–P5 | Accesso, separazione tra enti, schede ente e persona; ipotesi RF-2.13–2.14 e RF-3.3 | | T2 | Acquisizione e libri sociali | P6, P7 | W1, W2 e W4 con firma simulata; ipotesi RF-1.1 e passi 🔸 di W1, W2, W4 | | T3 | Contabilità e circolari | P8, P9 | W5 e W7; ipotesi RF-5.1 e passi 🔸 di W5, W7 | | T4 | Progettazione e servizi reali | P10, P11 | W6, firma reale in sandbox; collaudo finale della fase 1, prima di P12 | | T5 | Fase 2 | P13, P14 | W8 e W9 | ⚠️ Fino a P11 la firma è simulata e **non ha valore legale**: nessun uso reale del software (offerte vere, libri sociali ufficiali) prima della messa in produzione (P12). Va detto al cliente alla prima tappa. --- ## 4. Ordine e dipendenze ```mermaid flowchart LR subgraph Avvio P1[P1 Impianto] --> P2[P2 Base] --> P3[P3 Componenti] end subgraph F1[Fase 1] P4[P4 M2] --> P5[P5 M3] P6[P6 M1] P7[P7 M4] P8[P8 M5] P9[P9 M8] P10[P10 M6] P11[P11 Servizi reali] --> P12[P12 Produzione] end subgraph F2[Fase 2] P13[P13 M7] P14[P14 M9] end P2 --> P4 P2 --> P9 P3 --> P6 & P7 & P8 & P10 P4 --> P6 & P8 & P9 & P10 P5 --> P7 P6 & P7 --> P11 P8 & P9 & P10 --> P12 P5 & P8 --> P13 P5 --> P14 Q13([Q13 schema progetti]) -.-> P10 Q4Q9([Q4 · Q9]) -.-> P11 ``` **Perché questo ordine:** - **M2 per primo:** ogni dato appartiene a un ente (RT-1); senza schede ente non si prova nient'altro. - **M3 prima di M4:** libro soci e registro volontari prendono i dati dalle schede persona (RF-3.3 🔸). - **M1 dopo i componenti condivisi:** usa la firma (simulata) e la generazione dei documenti. - **M5 e M8 non dipendono da M4:** se M4 si ferma su Q9 o C6, si va avanti con loro. - **M6 in fondo alla fase 1:** lo schema dei progetti non esiste ancora (RF-6.5, Q13); è il pacchetto più esposto ai ritardi del cliente. - **Servizi reali (P11) il più tardi possibile:** la sandbox di firma è gratuita solo per 40 giorni (`costi-ricorrenti.md` §3, nota 3). - **M7 dopo M3 e M5:** ne estrae i dati (RF-7.2), quindi la loro struttura deve essere stabile. Con un solo sviluppatore i pacchetti vanno in sequenza; il diagramma serve a sapere cosa si può anticipare quando un pacchetto si ferma. --- ## 5. Rischi di pianificazione I rischi generali sono in `domande-cliente.md` §3; qui ci sono solo quelli legati all'ordine e ai tempi. | Rischio | Effetto | Come si riduce | |---|---|---| | Schema dei progetti (Q13) in ritardo | P10 fermo, fase 1 non chiusa | Data di consegna dei materiali nel contratto; M6 in fondo alla fase 1 | | Date del bando (C12) incompatibili con la sequenza | Perimetro da ridurre o fase 2 fuori dal bando | C12 prima dell'incontro con il cliente | | Integrazione della firma reale più lunga di 40 giorni | +104 € per ogni mese di abbonamento anticipato (`costi-ricorrenti.md` §3, nota 3) | Collaudo con firma simulata (T2); P11 subito prima di P12 | | Conservazione a nome di ogni ente o senza API (C6, Q9) | P7 e P11 cambiano (più archivi o un passo manuale) | Chiudere C6 prima del preventivo | | Valutazione d'impatto (C13) che chiede misure non previste | P2 da rifare in parte | C13 prima di P2 | | Ipotesi 🔸 smentite tardi | Lavoro da rifare | Tappe T1–T5 (§3) | --- ## 6. Stime (da fare) La colonna "Ore" del §2 si compila nel passo successivo, insieme a Davide: 1. per ogni pacchetto: ore minime e massime, l'assunzione usata e il dato che la verifica; 2. i pacchetti più incerti si stimano sull'ipotesi dichiarata: P10 e P13 sull'opzione (a) di Q19 (B1.2), P11 sul tipo di firma indicato da Q4 o, senza risposta, su quello più probabile, P7 senza conservazione per ogni ente; 3. le tariffe orarie le decide Davide; 4. i costi ricorrenti sono già calcolati a parte (`costi-ricorrenti.md`). Prima della stima vanno decise anche B1.11 (guida d'uso e formazione) e B1.12 (correzione dei difetti nel primo anno): nessun requisito nelle fonti, ma cambiano il preventivo. --- ## Registro delle modifiche | Versione | Data | Allineato a | Modifiche | |---|---|---|---| | 0.4 | 27/09/2026 | `richiesta.md` v0.4 | Prima stesura, ricostruita da `blueprint-progetto.md` e `mvp.md` della cartella `software.old` (24/09/2026). Rispetto all'originale: tolte le stime in settimane e il diagramma temporale (cifre senza dati a supporto; la stima si fa al §6); moduli e fasi allineati a `richiesta.md` v0.4 (circolari M8 in fase 1, M9); prerequisiti riferiti alle domande e alle verifiche attuali (Q, C, B); l'MVP diventa una serie di tappe di collaudo interne, che non cambiano le fasi concordate | | 0.4.1 | 27/09/2026 | `richiesta.md` v0.4 | Verifica sulle fonti: la conservazione digitale è richiesta da [D], quindi in §1.2 e P11 si sceglie solo tra conservazione a norma e archivio interno (prima "sì o no") | | 0.4.2 | 27/09/2026 | `richiesta.md` v0.4 | Nome di M3 allineato a `richiesta.md` v0.4.4; aggiunte in §1.2 le domande Q25 e Q26 | --- ## Stato - **Fase corrente:** analisi dei requisiti; blueprint in bozza v0.4.2, senza stime. - **Decisioni prese:** D1–D13 (`richiesta.md` §7). Ordine dei pacchetti e tappe sono proposte 🔸. - **Prossimo passo:** C12 con il commercialista; scelta dello stack (B1.10) e di B1.11, B1.12; poi stima delle ore per pacchetto.