⚙ Documentazione Tecnica

Nautilus Web App — Analisi Tecnica

Architettura, stack tecnologico, moduli e specifiche di sistema della piattaforma gestionale per Enti Locali

💻 Web App PHP/MySQL 📈 9 Moduli integrati 🤖 AI Multi-provider 🗺 Mappe Leaflet 📄 Export CSV/JSON/XML/XLS
1. Informazioni generali

Scheda applicazione

AttributoValore
Nome applicazioneNautilus
TipoWeb Application — accessibile da qualsiasi browser
DestinatariEnti Locali italiani (Comuni, Province, Unioni di Comuni)
Moduli disponibili9 moduli specializzati per la gestione del patrimonio urbano
ArchitetturaMonolitica modulare con database relazionale centralizzato
AccessoMulti-utente con gestione ruoli e permessi
ConformitàPNRR digitalizzazione PA, GDPR, Codice della Strada
DeployHosting condiviso o VPS con Apache/Nginx + PHP + MySQL
2. Stack tecnologico

Tecnologie utilizzate

🐍
PHP
7.4+ / 8.x
Backend server-side. Pattern MVC, Singleton per DB, include modulari per ogni sezione
💾
MySQL
5.7+ / 8.0
Database relazionale centralizzato. Charset UTF-8, indici ottimizzati, relazioni tra moduli
🌍
Apache / Nginx
Web Server
Hosting su server condiviso o VPS. Compatible con Register.it, Aruba, OVH
🌞
Leaflet.js
1.9.x
Mappe interattive open-source. Marker personalizzati, clustering, filtri geografici
💻
HTML5 / CSS3 / JS
Frontend
Interfaccia responsive, Bootstrap-compatibile. Nessun framework pesante richiesto
🤖
AI Multi-provider
REST API
Google Gemini, OpenAI GPT, Groq. Scelta del provider dalla configurazione
3. I 9 moduli

Specifiche per modulo

Ogni modulo implementa le stesse funzionalità trasversali (CRUD completo, mappe GPS, statistiche, export, fotografie) specializzandole per la propria area di competenza.

🚨 Segnaletica Verticale

Tipologia, codice CDS, ubicazione GPS, stato conservazione, scadenza manutenzione, foto

🛣 Segnaletica Orizzontale

Tipo marcatura, materiale, stato, superficie, data installazione, georeferenziazione

📣 Impianti Pubblicitari

Tipologia impianto, concessionario, autorizzazione, scadenza, canone, QR code, zona

🚗 Passi Carrabili

Intestatario, indirizzo, Art. 22 CDS, dimensioni, autorizzazione, rinnovo annuale

💡 Illuminazione Pubblica

Tipo lampione, potenza, fornitore energia, cabina elettrica, guasti, manutenzione

🎒 Arredo Urbano

Categoria, materiale, anno installazione, stato, interventi manutentivi, posizione

🔧 Sottoservizi

Tipo rete, gestore, profondità, materiale, anno posa, autorizzazione scavo

📡 Impianti Tecnologici

Tipo impianto, marca, fornitore, IP/seriale, scadenza garanzia, manutenzione

🌿 Verde Urbano

Specie botanica, altezza, diametro chioma, data censimento, potatura, rischi

Funzionalità comuni a tutti i 9 moduli:
CRUD completo Mappe GPS Leaflet Dashboard statistiche Upload fotografico Export CSV/JSON/XML/XLS Gestione scadenze Filtri avanzati Ricerca AI Log operazioni
4. Architettura

Pattern e struttura applicativa

ComponenteImplementazione
Connessione DBPattern Singleton — una sola istanza PDO per richiesta, con gestione eccezioni
SessioniSessioni PHP native con timeout automatico, rigenerazione ID anti-hijacking
AutenticazioneHash password bcrypt, controllo ruolo per ogni endpoint, redirect su accesso non autorizzato
Struttura fileCartella /app per i moduli, /shared per componenti comuni, /admin per pannello amministrativo
Template enginePHP nativo con include modulari. Header, footer e menu condivisi tra tutti i moduli
Validazione inputSanificazione lato server con htmlspecialchars, prepared statements PDO per tutte le query
Upload fileValidazione MIME type, limite dimensione, rinomina hash SHA-1, cartella dedicata per modulo
LoggingSistema di log centralizzato: ogni operazione CRUD tracciata con user, timestamp e IP
5. Intelligenza artificiale

Assistente AI integrato

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 AIModelloUso principale
Google Geminigemini-pro / gemini-1.5Analisi immagini, ricerca semantica, consulenza normativa
OpenAIGPT-4o / GPT-3.5-turboRisposta a domande, generazione report, classificazione
Groqllama3-70b / mixtralRisposte veloci, elaborazione in tempo reale
Capacità AI disponibili: Ricerca in linguaggio naturale nel database • Riconoscimento immagini e rilevamento danni • Consulenza su Codice della Strada e Regolamento di esecuzione • Analisi distribuzione geografica • Suggerimenti proattivi su scadenze e manutenzioni • Generazione automatica report testuali
6. Mappe e GPS

Geolocalizzazione e cartografia

FunzionalitàDettaglio tecnico
Libreria mappeLeaflet.js 1.9.x con tile OpenStreetMap (gratuito, nessuna API key)
Marker personalizzatiIcone SVG per ogni tipologia di elemento. Clustering automatico con Leaflet.markercluster
Filtri geograficiFiltro per via, zona, tipologia e stato direttamente sulla mappa
Coordinate GPSLettura EXIF dalle foto caricate. Inserimento manuale lat/lng. Ricerca per indirizzo con geocoding
Popup informativiClick su marker apre scheda riepilogativa con link alla scheda completa
Export mappaEsportazione lista filtrata con coordinate per import in GIS esterni
7. Esportazione

Formati di esportazione dati

FormatoLibreria PHPUso tipico
CSVPHP nativo (fputcsv)Fogli di calcolo, analisi tabellari, import in altri sistemi
JSONPHP nativo (json_encode)API REST, integrazione con applicazioni web e mobile
XMLSimpleXML / DOMDocumentInterscambio dati con sistemi istituzionali e PA
XLS/XLSXPhpSpreadsheet / PHPExcelReport 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.

8. Sicurezza

Misure di sicurezza implementate

🔐

Autenticazione sicura

Password con hash bcrypt. Nessuna password in chiaro. Blocco accesso dopo tentativi falliti.

🚫

Protezione XSS

Sanificazione completa di tutti gli input con htmlspecialchars(). Nessun output raw da database.

🛡

Protezione CSRF

Token CSRF su tutti i form. Verifica token lato server ad ogni submit. Token con scadenza di sessione.

📋

Prepared Statements

Tutte le query al database usano PDO con prepared statements. Nessuna SQL Injection possibile.

🔒

Header di sicurezza

X-Content-Type-Options, X-Frame-Options (anti-clickjacking), Referrer-Policy, CSP configurabile.

📋

Audit trail completo

Ogni operazione CRUD viene registrata con: utente, IP, timestamp, azione eseguita e dati modificati.

9. Requisiti di sistema

Requisiti per l'installazione

ComponenteMinimoRaccomandato
PHP7.48.1 o superiore
MySQL / MariaDB5.7 / 10.38.0 / 10.6
Web serverApache 2.4Nginx 1.20 o Apache 2.4
RAM server512 MB2 GB o più
Spazio disco500 MB5 GB (per fotografie)
Estensioni PHPPDO, PDO_MySQL, GD, mbstring, json, curl, zip
Browser clientQualsiasi browser moderno (Chrome, Firefox, Safari, Edge). No IE.
Compatibilità hostingRegister.it, Aruba, OVH, SiteGround e qualsiasi hosting condiviso con PHP+MySQL

🔔 Note per l'installazione su hosting condiviso

  • Creare il database MySQL tramite pannello cPanel o Plesk
  • Caricare i file via FTP nella cartella public_html o in una sottocartella
  • Configurare il file config.php con credenziali database e chiavi API
  • Eseguire il file SQL di installazione per creare le tabelle
  • Impostare i permessi 755 per le cartelle uploads/

Vuoi sapere di più su Nautilus?

Prova la demo live o contattaci per un preventivo personalizzato per il tuo ente.

▶ Prova la Demo 🌐 A cosa serve 📧 Contattaci