Documentazione Tecnica
Benvenuto nella documentazione tecnica ufficiale del Progetto E015. Questo portale fornisce una panoramica completa del sistema di gestione eventi, descrivendo l'architettura, le interfacce API e i protocolli di sicurezza implementati.
Il progetto è concepito come una piattaforma robusta e scalabile per la pubblicazione di contenuti multimediali legati a eventi territoriali, garantendo integrità dei dati e performance elevate.
Funzionalità Principali
- Gestione Eventi (CRUD): Interfaccia amministrativa completa per la creazione e modifica di eventi con metadati avanzati.
- Supporto Multimediale: Sistema di upload sicuro con validazione Magic Byte e integrazione video/YouTube.
- Public Data API: Endpoint RESTful per la distribuzione dei contenuti a client di terze parti.
Tecnologie Utilizzate
L'ecosistema tecnologico è stato selezionato per garantire compatibilità, sicurezza e facilità di deployment.
- Backend: PHP 8.2 (Engine core)
- Database: MySQL / MariaDB
- Ambiente: Docker (Apache based)
Architettura Generale
L'applicazione segue un modello di separazione delle responsabilità tra logica di gestione (Pannello) e logica di distribuzione (API).
- /pannello: Contiene la logica amministrativa e le classi di gestione dati.
- /api: Espone gli endpoint pubblici filtrabili.
- /uploads: Storage ottimizzato per i contenuti multimediali validati.
Flusso di Funzionamento
Il flusso standard prevede l'acquisizione del dato tramite form validati lato server, la memorizzazione relazionale e la successiva esposizione tramite buffer JSON.
[Input Admin] -> [Validazione PHP] -> [Database MySQL] -> [Controller API] -> [Output JSON]
Documentazione API
L'API è accessibile in sola lettura e supporta parametri di ricerca per ottimizzare il recupero dei dati.
Endpoint Eventi
Restituisce la lista degli eventi filtrati per criteri temporali o geografici.
GET /api/example-endpoint?date=YYYY-MM-DD&city=NOME
Esempio di Risposta (Astratto)
{
"status": "success",
"data": [
{
"id": "UUID",
"title": "Esempio Evento",
"location": "Sito Placeholder",
"media": ["url_asset_1", "url_asset_2"]
}
]
}
Linee Guida di Utilizzo
Per integrare correttamente il sistema, si raccomanda di gestire i timeout di rete e di utilizzare header corretti per l'acquisizione dei dati in formato JSON.
Misure di Sicurezza
La sicurezza è integrata in ogni livello del software, seguendo i principi di Defense in Depth.
- Prepared Statements: Utilizzo sistematico di PDO per prevenire attacchi SQL Injection.
- Session Hardening: Cookie configurati con flag
HttpOnly,SecureeSameSite=Lax. - Validazione Multimediale: Controllo dei Magic Byte per verificare l'integrità reale dei file caricati, indipendentemente dall'estensione.
- Output Sanitization: Encoding contestuale di tutti i dati renderizzati per prevenire XSS.