Architettura, stack tecnologico, moduli e specifiche di sistema della piattaforma gestionale per Enti Locali
| Attributo | Valore |
|---|---|
| Nome applicazione | Nautilus |
| Tipo | Web Application — accessibile da qualsiasi browser |
| Destinatari | Enti Locali italiani (Comuni, Province, Unioni di Comuni) |
| Moduli disponibili | 9 moduli specializzati per la gestione del patrimonio urbano |
| Architettura | Monolitica modulare con database relazionale centralizzato |
| Accesso | Multi-utente con gestione ruoli e permessi |
| Conformità | PNRR digitalizzazione PA, GDPR, Codice della Strada |
| Deploy | Hosting condiviso o VPS con Apache/Nginx + PHP + MySQL |
Ogni modulo implementa le stesse funzionalità trasversali (CRUD completo, mappe GPS, statistiche, export, fotografie) specializzandole per la propria area di competenza.
Tipologia, codice CDS, ubicazione GPS, stato conservazione, scadenza manutenzione, foto
Tipo marcatura, materiale, stato, superficie, data installazione, georeferenziazione
Tipologia impianto, concessionario, autorizzazione, scadenza, canone, QR code, zona
Intestatario, indirizzo, Art. 22 CDS, dimensioni, autorizzazione, rinnovo annuale
Tipo lampione, potenza, fornitore energia, cabina elettrica, guasti, manutenzione
Categoria, materiale, anno installazione, stato, interventi manutentivi, posizione
Tipo rete, gestore, profondità, materiale, anno posa, autorizzazione scavo
Tipo impianto, marca, fornitore, IP/seriale, scadenza garanzia, manutenzione
Specie botanica, altezza, diametro chioma, data censimento, potatura, rischi
| Componente | Implementazione |
|---|---|
| Connessione DB | Pattern Singleton — una sola istanza PDO per richiesta, con gestione eccezioni |
| Sessioni | Sessioni PHP native con timeout automatico, rigenerazione ID anti-hijacking |
| Autenticazione | Hash password bcrypt, controllo ruolo per ogni endpoint, redirect su accesso non autorizzato |
| Struttura file | Cartella /app per i moduli, /shared per componenti comuni, /admin per pannello amministrativo |
| Template engine | PHP nativo con include modulari. Header, footer e menu condivisi tra tutti i moduli |
| Validazione input | Sanificazione lato server con htmlspecialchars, prepared statements PDO per tutte le query |
| Upload file | Validazione MIME type, limite dimensione, rinomina hash SHA-1, cartella dedicata per modulo |
| Logging | Sistema di log centralizzato: ogni operazione CRUD tracciata con user, timestamp e IP |
Nautilus integra un assistente AI multi-provider che si collega direttamente al database e alla normativa vigente per rispondere a domande in linguaggio naturale.
| Provider AI | Modello | Uso principale |
|---|---|---|
| Google Gemini | gemini-pro / gemini-1.5 | Analisi immagini, ricerca semantica, consulenza normativa |
| OpenAI | GPT-4o / GPT-3.5-turbo | Risposta a domande, generazione report, classificazione |
| Groq | llama3-70b / mixtral | Risposte veloci, elaborazione in tempo reale |
| Funzionalità | Dettaglio tecnico |
|---|---|
| Libreria mappe | Leaflet.js 1.9.x con tile OpenStreetMap (gratuito, nessuna API key) |
| Marker personalizzati | Icone SVG per ogni tipologia di elemento. Clustering automatico con Leaflet.markercluster |
| Filtri geografici | Filtro per via, zona, tipologia e stato direttamente sulla mappa |
| Coordinate GPS | Lettura EXIF dalle foto caricate. Inserimento manuale lat/lng. Ricerca per indirizzo con geocoding |
| Popup informativi | Click su marker apre scheda riepilogativa con link alla scheda completa |
| Export mappa | Esportazione lista filtrata con coordinate per import in GIS esterni |
| Formato | Libreria PHP | Uso tipico |
|---|---|---|
| CSV | PHP nativo (fputcsv) | Fogli di calcolo, analisi tabellari, import in altri sistemi |
| JSON | PHP nativo (json_encode) | API REST, integrazione con applicazioni web e mobile |
| XML | SimpleXML / DOMDocument | Interscambio dati con sistemi istituzionali e PA |
| XLS/XLSX | PhpSpreadsheet / PHPExcel | Report Excel per rendicontazioni e presentazioni istituzionali |
🕐 Ogni esportazione viene registrata nel log con: utente, data, ora, modulo e numero di record esportati. È possibile schedulare esportazioni automatiche a frequenza configurabile.
Password con hash bcrypt. Nessuna password in chiaro. Blocco accesso dopo tentativi falliti.
Sanificazione completa di tutti gli input con htmlspecialchars(). Nessun output raw da database.
Token CSRF su tutti i form. Verifica token lato server ad ogni submit. Token con scadenza di sessione.
Tutte le query al database usano PDO con prepared statements. Nessuna SQL Injection possibile.
X-Content-Type-Options, X-Frame-Options (anti-clickjacking), Referrer-Policy, CSP configurabile.
Ogni operazione CRUD viene registrata con: utente, IP, timestamp, azione eseguita e dati modificati.
| Componente | Minimo | Raccomandato |
|---|---|---|
| PHP | 7.4 | 8.1 o superiore |
| MySQL / MariaDB | 5.7 / 10.3 | 8.0 / 10.6 |
| Web server | Apache 2.4 | Nginx 1.20 o Apache 2.4 |
| RAM server | 512 MB | 2 GB o più |
| Spazio disco | 500 MB | 5 GB (per fotografie) |
| Estensioni PHP | PDO, PDO_MySQL, GD, mbstring, json, curl, zip | |
| Browser client | Qualsiasi browser moderno (Chrome, Firefox, Safari, Edge). No IE. | |
| Compatibilità hosting | Register.it, Aruba, OVH, SiteGround e qualsiasi hosting condiviso con PHP+MySQL | |
Prova la demo live o contattaci per un preventivo personalizzato per il tuo ente.
▶ Prova la Demo 🌐 A cosa serve 📧 Contattaci
Indirizzo: Via Virgilio, 1 Peschiera Borromeo (MI) 20068 Telefono:(+039) 0255301819 Cellulare (+039) 3357107372 Email: info@avemicommunication.it Informativa: Cookie - Normativa Privacy