API para gestión de usuarios, instituciones y roles, construida con FastAPI y SQLModel.
(Parte del proyecto de Planificación y Desarrollo de Aplicaciones)
HU-01
: Dashboard
HU-02
: Registro de medidas
HU-04
: Cálculos de KPI
HU-03
: Generación de reportes
HU-06
: Definición de dead lines
HU-05
: Sistema de alertas de tiempo dead line
🔗 Tablero Taiga: https://tree.taiga.io/project/isaacvega-monitoreo-ambiental/backlog
User (Usuario) Institution (Institución)
├─ UUID id_user ├─ UUID id_institution
├─ username ├─ institution_name
├─ email (único) └─ FK id_institution_type
└─ password (hash)
UserInstitution (Relación M:N) InstitutionType (Tipo)
├─ PK id_user (FK) ├─ PK id_institution_type
├─ PK id_institution (FK) └─ institution_type
└─ FK id_user_rol
Clonar repositorio:
git clone https://github.com/IsaacVega5/tf-ppdApi.git
cd tf-ppdApi Configurar entorno:
cp .env.example .env # Editar con tus credenciales
pip install -r requirements.txt
Iniciar API:
uvicorn app.main:app --reload
- Usuarios (/user)
Método Ruta Descripción Estado
- GET / Listar todos los usuarios ✅ Funcional
- GET /{id_user} Obtener usuario por UUID ✅ Funcional
- Instituciones (/institution)
[EN CONSTRUCCIÓN] (Próxima entrega)
Accede a la interfaz interactiva:
- 🔗 Swagger UI: https://tf-ppdapi.onrender.com/docs
- 🔗 Redoc: https://tf-ppdapi.onrender.com/redoc
Swagger Preview
- Python 3.10+
- FastAPI (Framework API)
- SQLModel + Pydantic (ORM)
- Alembic (DB Migrations)
- PostgreSQL (Producción) / SQLite (Desarrollo)
- Render (Despliegue)
- Neon (Host de PostgreSQL)
- JWT (Próxima implementación)
Implementar CRUD completo para instituciones
Añadir autenticación JWT
Configurar despliegue en Docker
Documentar relaciones entre entidades