REFERENCIA / TÉCNICA

Documentación Técnica

Arquitectura y modelo de datos del sistema de reserva de laboratorios.

§ 01

Base de Datos

El esquema principal utiliza la tabla laboratorio_reservas. InnoDB MySQL/MariaDB.

Columna Tipo y Restricciones
id INT AUTO_INCREMENT PRIMARY KEY
fecha DATE NOT NULL
dia_semana INT NOT NULL (1=Lunes, 5=Viernes)
bloque_id INT NOT NULL (1-9)
usuario_id INT NOT NULL
estado ENUM('reservado', 'confirmado', 'disponible')
⚡
Restricción Única: La combinación de UNIQUE KEY(fecha, bloque_id) previene reservas superpuestas a nivel de base de datos.

§ 02

Estructura de la API (Backend)

Se implementa en PHP nativo y PDO.

PDO
Capa de Acceso a Datos
Se usa PDO (PHP Data Objects) para evitar inyecciones SQL. Las conexiones se manejan en config.php.
Security
JSON
Intercambio de Datos
La API expone endpoints que devuelven estructuras en application/json para ser consumidas por el cliente AJAX.
REST-like

§ 03

Frontend

Lógica de la Interfaz de Usuario.

Archivo Responsabilidad
app.js Manipulación del DOM, llamadas AJAX mediante fetch a la API, renderizado dinámico del calendario y manejo de eventos.
style.css Reglas de estilo en CSS puro. Grilla para el calendario y estilos responsivos básicos.