Aquest projecte consisteix en desenvolupar un sistema de gestió integral per a una LAN Party, utilitzant Python per a la interfície i SQLite per a l’emmagatzematge de dades. S’ha prioritzat la seguretat, la validació de dades i la facilitat d’ús.

Componentes del Sistema

El proyecto se divide en tres pilares fundamentales que trabajan en conjunto:

  1. La Base de Datos (database.py):
    • Crea automáticamente un archivo llamado lan_party.db.
    • Genera 10 tablas relacionadas entre sí.
    • Incluye datos iniciales (roles, juegos, etc.) para que el programa sea funcional desde el primer segundo.
    • Transforma conceptos complejos (como los ENUMs) en restricciones CHECK para asegurar que los datos sean correctos a nivel de motor de base de datos.
  2. La Lógica de Validación (validacions.py):
    • Es el “cerebro” que revisa la información antes de guardarla.
    • Contiene 17 tests de validación para asegurar que los correos tengan formato de email, que las fechas sean coherentes y que no haya campos vacíos.
  3. La Interfaz de Usuario (main.py):
    • Creada con la librería Tkinter.
    • Ofrece 10 formularios distintos (uno para cada tabla: Participantes, Equipos, Torneos, etc.).
    • Utiliza elementos modernos como Comboboxes (desplegables) para evitar errores de escritura y garantizar la integridad de las claves foráneas (FK).