Il software descritto in questo articolo è un gestionale sviluppato su commissione per un'azienda che svolge attività di consulenza tecnica e sicurezza nei luoghi di lavoro. L'applicazione consente di organizzare le anagrafiche, localizzare le attività sul territorio e gestire la documentazione prodotta durante i sopralluoghi nei cantieri.
L'obiettivo è riunire in un unico ambiente informazioni che, altrimenti, rimarrebbero distribuite tra rubriche, fogli di calcolo, mappe, fotografie e documenti PDF. Il sistema comprende un pannello di amministrazione accessibile da browser e un'interfaccia mobile utilizzabile durante il lavoro sul campo. Entrambe operano sugli stessi dati.
Schede e organizzazione delle informazioni
L'elemento principale del gestionale è la scheda, utilizzata per rappresentare clienti, aziende, professionisti, cantieri e altre informazioni associate a una posizione geografica.
Ogni scheda può contenere dati anagrafici, indirizzi, recapiti, note, categorie e informazioni operative. Alle schede possono essere associati altri nominativi o contatti secondari, evitando di duplicare gli stessi riferimenti quando intervengono in attività differenti.
La ricerca non è limitata al nome: le schede possono essere filtrate per tipologia, categoria e stato. Le categorie sono configurabili e permettono di organizzare la rubrica secondo le esigenze di chi utilizza il sistema.
Questa impostazione ha un vantaggio pratico: la gestione di un'azienda, di un professionista o di un cantiere non richiede archivi separati e indipendenti. I diversi elementi possono essere collegati tra loro e consultati dalla stessa interfaccia.
Mappa e attività sul territorio
La mappa è una delle principali modalità di accesso alle informazioni. Le schede geolocalizzate sono visualizzate mediante segnaposto, con la possibilità di aprire il dettaglio e avviare la navigazione verso l'indirizzo selezionato.
Le coordinate possono essere ottenute dagli indirizzi tramite i servizi di geocodifica di Google Maps. Sono inoltre disponibili la ricerca delle schede nelle vicinanze e filtri per limitare gli elementi visualizzati.
Per le attività periodiche è prevista la registrazione delle visite. Ogni scheda conserva la data dell'ultima visita e una periodicità configurabile, dalla quale il gestionale ricava lo stato di aggiornamento. Un'indicazione visiva permette di distinguere le attività già svolte da quelle che richiedono un nuovo passaggio.
Il sistema non si limita quindi a mostrare punti su una cartina: associa la posizione geografica alla pianificazione e alla registrazione del lavoro effettuato.

Gestione dei cantieri
I cantieri utilizzano lo stesso archivio delle altre schede, ma dispongono di informazioni e procedure specifiche.
A ciascun cantiere possono essere collegate le figure coinvolte: committente, direttore dei lavori, responsabili, coordinatori per la sicurezza, imprese esecutrici e altri soggetti interessati. I riferimenti sono selezionati dall'archivio comune e associati al cantiere con il relativo ruolo.
La scheda del cantiere costituisce il punto di accesso ai sopralluoghi, ai verbali, alle comunicazioni e ai documenti. In questo modo è possibile consultare il contesto operativo senza ricostruire ogni volta l'elenco delle persone o delle imprese coinvolte.
La relazione tra anagrafiche e cantieri è un aspetto importante del modello dati. La stessa impresa può comparire in più cantieri, mentre il ruolo ricoperto e le informazioni pertinenti al singolo intervento rimangono legati a quello specifico cantiere.

Sopralluoghi, verbali e non conformità
Una parte consistente dell'applicazione riguarda la compilazione dei verbali di sopralluogo.
Il documento raccoglie i dati del cantiere, le figure presenti, le lavorazioni osservate, le note e le eventuali non conformità rilevate. Queste ultime possono comprendere una descrizione del problema, le azioni richieste e fotografie a supporto.
Per le non conformità ricorrenti è disponibile un archivio di voci riutilizzabili, utile a mantenere una terminologia coerente e a ridurre la quantità di testo da riscrivere durante le visite. Le informazioni possono essere riprese e aggiornate nei verbali successivi, così da mantenere traccia delle situazioni ancora aperte e di quelle risolte.
La compilazione avviene nell'interfaccia mobile, con campi e controlli progettati anche per l'uso su smartphone o tablet. È possibile acquisire fotografie e raccogliere le firme richieste direttamente sullo schermo, senza dover stampare il documento per completarlo.

I verbali attraversano due stati principali: bozza e documento completato. Una bozza può essere modificata; al completamento, il server genera il relativo PDF, con numerazione, dati del cantiere, contenuti, immagini e firme pertinenti. La chiusura del verbale aggiorna anche la data dell'ultima visita al cantiere.
La produzione dei PDF non è una semplice esportazione della pagina visibile: il documento è composto sul server secondo un modello di stampa, con intestazioni e sezioni che dipendono dalla tipologia del verbale e dalle figure coinvolte.

Comunicazioni e distribuzione dei documenti
Oltre ai verbali di sopralluogo, il gestionale permette di predisporre comunicazioni e altri documenti operativi collegati al cantiere.
Una volta completati, i documenti possono essere inviati via email ai destinatari selezionati tra i soggetti associati al cantiere. Il messaggio viene preparato con un modello HTML e include il PDF e gli eventuali allegati. L'elenco dei destinatari rimane modificabile, perché non tutti i documenti devono necessariamente raggiungere tutte le figure coinvolte.
Il sistema dispone inoltre di un archivio dei documenti e degli allegati associati alle schede. Per la condivisione di documentazione già completata è previsto anche un accesso tramite codice QR, che apre una pagina dedicata dalla quale scaricare i file disponibili, singolarmente o in archivio ZIP.
In questo modo la produzione, l'archiviazione e la distribuzione dei documenti fanno parte dello stesso flusso operativo, senza richiedere passaggi manuali tra applicazioni diverse.
Architettura dell'applicazione
Il gestionale è organizzato secondo un'architettura client/server. L'interfaccia mobile e il pannello web comunicano con un backend comune, responsabile delle operazioni sui dati e della generazione dei documenti.

Il backend è sviluppato in PHP, con un database MySQL. Il pannello desktop utilizza HTML, JavaScript e Bootstrap. La parte mobile è una webapp realizzata con Framework7 e jQuery, con componenti Cordova per l'integrazione con i dispositivi mobili.
Le operazioni sono esposte tramite API applicative che restituiscono dati in formato JSON. Questo consente alle diverse interfacce di utilizzare lo stesso archivio e le stesse regole di elaborazione.
Alcune librerie e servizi esterni svolgono compiti specifici: Google Maps per cartografia e geocodifica, FPDF per i documenti PDF, PHPMailer per le comunicazioni email e PhpSpreadsheet per l'importazione e l'esportazione dei dati in formato Excel.
L'applicazione mobile conserva temporaneamente in IndexedDB le bozze dei verbali durante la compilazione. Questa cache serve a ridurre il rischio di perdere modifiche non ancora salvate sul server; non equivale però a un archivio completo utilizzabile indipendentemente dalla connessione.
Importazione, esportazione e gestione degli allegati
L'inserimento delle anagrafiche può avvenire anche tramite importazione da fogli Excel. Sono previsti tracciati distinti per le schede principali, i riferimenti tra schede e i contatti secondari. Le corrispondenti funzioni di esportazione permettono di ottenere nuovamente i dati in un formato utilizzabile con gli strumenti da ufficio.
Questo meccanismo è utile soprattutto quando il gestionale deve convivere con archivi già esistenti. L'importazione non riguarda soltanto una lista di nomi, ma anche relazioni e recapiti che devono rimanere coerenti nel database centrale.
Un'altra questione pratica riguarda le immagini. Le fotografie allegate ai verbali possono incidere sensibilmente sulle dimensioni dei documenti e sulla quantità di dati trasferita. Per questo sono previste procedure di ridimensionamento e ottimizzazione, in modo da contenere il peso degli allegati senza rinunciare alla documentazione fotografica necessaria.

Considerazioni progettuali
La particolarità di un gestionale di questo tipo non risiede in una singola funzione, ma nel collegamento tra informazioni anagrafiche, posizione geografica e documentazione operativa.
Una scheda indica chi o che cosa viene seguito; la mappa indica dove si trova; la registrazione delle visite permette di sapere quando è stata svolta un'attività; il verbale descrive quanto rilevato; le comunicazioni distribuiscono il risultato alle persone interessate.
L'interfaccia deve restare abbastanza semplice da poter essere utilizzata durante un sopralluogo, mentre il backend deve garantire che tutti i dati confluiscano in un archivio comune. È questo equilibrio, più che la complessità delle singole schermate, a caratterizzare il progetto.
Il risultato è un'applicazione verticale sviluppata per un'attività professionale concreta, nella quale le operazioni sul territorio e quelle amministrative condividono lo stesso sistema informativo.