Proyecto obligatorio – Base de Datos 1 – Segundo Semestre 2025
Integrantes: Franco Manfredi · Manuela Martony · Manuel Lorenzo · Martín de León
Este proyecto implementa un sistema completo para la gestión de reservas de salas de estudio en la Universidad Católica del Uruguay, sustituyendo el proceso manual en papel por una plataforma moderna basada en web.
El sistema permite reservar salas, registrar asistencia, aplicar sanciones automáticas por inasistencia, consultar reportes sobre el uso de los espacios y funcionalidades de administrador. Incluye frontend en React, backend en Python (sin ORM) y base de datos MySQL.
- Crear reservas
- Ver reservas activas y pasadas
- Cancelar reservas
- Ver asistencia y estados
- Gestión de salas
- Activación/desactivación de salas y participantes
- Módulo de reportes
Email: admin@ucu.edu.uy
Contraseña: admin123
Email: agustin.ramos@ucu.edu.uy
Contraseña: qwerty98
- Python 3.10+
- Node.js 18+
- MySQL 8.0+
- DataGrip u otro cliente MySQL
- npm o yarn
git clone https://github.com/manuelamartony/obligatorioBD
cd obligatorioBD
El proyecto incluye un archivo docker-compose.yml que levanta automáticamente:
- Base de datos MySQL con el schema inicial y datos maestros
- Backend en Python con todos los requerimientos instalados
- Frontend en React accesible desde navegador
- Red interna para que los servicios se comuniquen entre sí
No es necesario instalar dependencias manualmente ni ejecutar scripts SQL a mano.
Desde la raíz del proyecto:
docker compose up --build
Esto:
- Construye las imágenes (frontend, backend)
- Levanta el contenedor de MySQL
- Ejecuta automáticamente:
- la migración
001_initial_schema.sql - el archivo
datos_maestros.sql
- la migración
- Inicia frontend y backend
Cuando el proceso termina, tendrás:
http://localhost:8000
http://localhost:3000
- Abrir DataGrip
- New → Data Source → MySQL
- Configurar:
- Host:
localhost - Port:
3306 - Database:
obligatorio_bd - User:
root - Password:
rootpassword
- Host:
- Test Connection → OK
- Python (sin ORM)
- MySQL Connector
- Arquitectura modular por controladores y rutas
- React
- Hooks
- Fetch/Axios
- Componentes modulares
- MySQL