netgescon-day0/GUIDA_COMANDI.md

3.8 KiB

🗺️ ROADMAP VISIVA DEL PROGETTO (Mermaid)

!-- Antigravity mostrerà questo blocco come un grafico interattivo delle fasi --

graph TD
    classDef completato fill#28a745,stroke#1e7e34,stroke-width2px,color#fff;
    classDef inCorso fill#ffc107,stroke#d39e00,stroke-width2px,color#000;
    classDef pianificato fill#6c757d,stroke#545b62,stroke-width2px,color#fff;

    subgraph Infrastruttura Core & Legacy
        A[Configurazione database.php gescon_import]completato -- B[Archivio locale SQLite]completato
        B -- C[Esecuzione 17 Migrazioni Staging]completato
    end

    subgraph Sincronizzazione & Git
        C -- D[Launcher supportoaggiornamento-nodo]completato
        D -- E[Tracking Git & Controllo Working Tree]completato
        E -- F[Avanzamento Asincrono Nodo]completato
    end

    subgraph Sviluppo Interfaccia & Blade
        F -- G[Fase 7 Condivisione Dati Centralizzati]inCorso
        G -- H[Maschere Blade Condomini]pianificato
        G -- I[Maschere Blade Spese e Rate]pianificato
    end

🧠 CONTESTO DI SISTEMA E DIZIONARIO ARCHITETTURALE (Gescon Legacy)

Istruzione per l'Agent Non ignorare questo file. Usalo come unica sorgente di verità per lo stato dell'applicazione e per le convenzioni di scrittura del codice.

1. Stato Attuale Verificato (Fase 6)

Database di Importazione Configurato il database di importazione gescon_import in database.php affinché utilizzi il driver sqlite e l'archivio locale databasegescon_import.sqlite. Migrazioni Isolate ed eseguite con successo le 17 migrazioni per la staging su SQLite locale. Sincronizzazione Abilitato il launcher di aggiornamento e sincronizzazione del nodo a supportoaggiornamento-nodo con tracking Git, controllo working tree e avanzamento asincrono.

2. Linee Guida di Programmazione Strutturata (Linguaggio Comune)

Per evitare codice duplicato, query ripetitive nei controller e gestire l'alto numero di tabelle collegate della contabilità, applica tassativamente queste tre regole

A. REGLA DI DEFAULT PER COMMENTI E FEEDBACK (Standard Open Source)

Istruzione Mandataria per l'Agent Ogni volta che scrivi o modifichi il codice, o quando chiedi un commentoprocedura all'utente, devi commentare il codice in modo chiaro in lingua italiana. Specifica sempre a quale tabella del database SQLite (gescon_import) si riferisce l'operazione. Usa rigorosamente lo standard PHPDoc per i metodi, così da garantire la massima leggibilità per la futura community Open Source.

B. Condivisione dei Dati Ricorrenti (Data Sharing)

Problema I dati anagrafici fondamentali (es. lista condomini, condominio attivo) sono pochi ma servono in quasi tutte le maschere Blade. Soluzione Non eseguire query in ogni controller. Registra i dati globalmente nel metodo boot() di AppServiceProvider.php usando Viewshare('condominiCondivisi', ...) oppure tramite i View Components dedicati di Laravel.

C. Gestione delle Relazioni Complesse tramite Viste (Database Views)

Problema Il database contabile ha molte tabelle collegate, rendendo le query PHP con troppi JOIN pesanti e difficili da mantenere. Soluzione Crea delle Viste SQL direttamente nel database per unire le tabelle complesse in tabelle piatte virtuali. Mappa poi queste viste in Laravel come normali Modelli Eloquent in sola lettura per popolare le viste Blade in modo pulito.

D. Strumentazione e Ispezione

Strumento Visivo Utilizza l'estensione MCP DBCode integrata in Antigravity 2.0 per verificare la corrispondenza delle relazioni sulle tabelle SQLite ed evitare disallineamenti di schema durante la scrittura delle query.


3. Obiettivo Immediato (Fase 7)

Implementare il meccanismo di condivisione centralizzata dei dati generali e generare i controller per le prime maschere Blade relative all'anagrafica centralizzata.