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. |