🚀 Guia per al Desenvolupament del Sistema de Portes Obertes
L’objectiu d’aquest projecte és crear un servidor web autònom en Python que gestioni les reserves per a una jornada de portes obertes. El repte principal és no utilitzar cap framework extern (com Flask o Django), basant-nos exclusivament en la biblioteca estàndard.
🛠 Fonaments del Backend i Base de Dades
El cor del sistema es basa en una arquitectura lleugera però robusta:
- Persistència de dades: Utilitzarem SQLite3 amb un esquema de dues taules relacionades:
assistents(perfil de l’usuari) ihoraris(gestió de cites). - Integritat referencial: És imprescindible habilitar
PRAGMA foreign_keys = ON. Això permet aplicar unON DELETE CASCADE, assegurant que si un assistent és eliminat, la seva reserva desaparegui automàticament sense deixar “dades òrfenes”. - Sessions: Implementació manual d’un sistema de cookies bàsic per identificar el
user_iddurant la navegació.
🎨 Interfície Visual: Estètica “Gamer”
El disseny s’ha de centrar en una experiència d’usuari (UX) d’estil Dark Mode / Neo-Glow:
- Paleta cromàtica: Fons gairebé negre (
#0a0a0c), amb contrastos vibrants en Cian Neó (#00d2ff) i Púrpura Neó (#9d50bb). - Acabats: Ús de degradats subtils, tipografia Segoe UI i el recurs del
box-shadowper crear efectes de brillantor als contenidors. - Estructura: Les taules de dades han de ser minimalistes, amb capçaleres en tons porpra per mantenir la coherència visual.
⚙️ Lògica de l’Aplicació (Handler)
El script ha de gestionar de manera eficient els següents fluxos:
- Flux de Registre: Captura inicial de dades i redirecció immediata a la graella horària.
- Control d’Aforament: El sistema ha de calcular en temps real les places lliures (màxim 20 persones per franja de 15 minuts, de 16:45 a 18:45).
- Àrea d’Administració (
/admin): Panell protegit mitjançant Basic Auth (admin/JA54734231). Permet visualitzar el llistat complet, filtrar per hora mitjançant badges visuals i gestionar les baixes d’usuaris.
📋 Especificacions Tècniques Clau
Port: El servidor s’ha d’executar al port 5000, amb la configuració necessària per permetre la reutilització de l’adreça de xarxa.
Idioma: Tot el front-end ha d’estar íntegrament en català.