API REST para gestión de Personas, Contactos y Turnos, con reportes descargables en PDF y CSV.
Proyecto académico (UNLa) desarrollado en equipo. Este repositorio es un fork orientado a portfolio (documentación y presentación).
- CRUD de Personas, Contactos y Turnos
- Consulta de turnos disponibles
- Reportes PDF (Borb) y CSV (Pandas)
- Documentación automática con Swagger / OpenAPI
- Python 3.10+
- FastAPI + Uvicorn
- SQLite
- Pandas
- Borb
- Postman
- Python 3.10+ instalado
- pip instalado/actualizado
Ejecutar los comandos desde la carpeta raíz del proyecto.
python -m venv .venvWindows (PowerShell):
.\.venv\Scripts\Activate.ps1Linux / macOS:
source .venv/bin/activatepip install -r requirements.txtuvicorn app:app --reload- Swagger UI:
http://127.0.0.1:8000/docs
La colección de Postman está en la raíz del proyecto:
Postman de Turnos - Grupo 8.postman_collection.json
/personas/contactos/turnos/turnos-disponibles
GET /reportes/pdf/turnos-por-fecha?fecha=YYYY-MM-DDGET /reportes/pdf/turnos-cancelados-por-mesGET /reportes/pdf/turnos-por-persona?dni=12345678GET /reportes/pdf/turnos-cancelados?min=5GET /reportes/pdf/turnos-confirmados?desde=YYYY-MM-DD&hasta=YYYY-MM-DDGET /reportes/pdf/estado-personas?habilitada=true/false
GET /reportes/csv/turnos-por-fecha?fecha=YYYY-MM-DDGET /reportes/csv/turnos-cancelados-por-mesGET /reportes/csv/turnos-por-persona?dni=12345678GET /reportes/csv/turnos-cancelados?min=5GET /reportes/csv/turnos-confirmados?desde=YYYY-MM-DD&hasta=YYYY-MM-DDGET /reportes/csv/estado-personas?habilitada=true/false
- Micaela Insfran
- Gaston Madeo
- Rodrigo Emanuel Sanchez
- Manuel Shocron
Repositorio original del trabajo grupal (upstream): https://github.com/MicaelaInsfran02/SL-UNLA-LAB-2025-GRUPO-N8
app.py→ entrada de la API (ruteo / endpoints)models.py→ modelos / entidadesdatabase.py→ conexión / operaciones de base de datosutils.py→ utilidades y generación de reportesdatabase.db→ base local (SQLite)