Parte del proyecto Chapter Data · Ver también: Frontend · BBDD
Backend de Chapter Data, aplicación web para el registro y seguimiento personal de lecturas. API REST desarrollada con FastAPI y SQLAlchemy como Trabajo de Fin de Grado del CFGS DAM.
| Método | Ruta | Descripción |
|---|---|---|
| POST | /register |
Registro de usuario (bcrypt) |
| POST | /login |
Login con identifier + password |
| POST | /logout |
Cierre de sesión |
| GET | /libros |
Listar libros del usuario |
| POST | /libros |
Añadir libro |
| PUT | /libros/{id} |
Editar libro |
| DELETE | /libros/{id} |
Eliminar libro |
| GET | /generos |
Listar 16 géneros literarios |
| GET | /estadisticas |
Estadísticas por género |
| PUT | /usuario |
Editar perfil |
| PUT | /usuario/password |
Cambiar contraseña |
| DELETE | /usuario |
Eliminar cuenta |
- 🔐 bcrypt — hashing seguro de contraseñas
- 🗄��� SQLAlchemy — ORM con modelos
usuario,libro,genero - 🔁 Singleton
session_manager.py— gestión centralizada de sesiones - 🌐 CORS configurado para
localhost:5173 - 📦 Módulos separados —
auth.py,biblioteca.py,perfil.py,login_usuario.py,registro_usuario.py
Chapter-Data/
├── api.py # Definición de todos los endpoints
├── auth.py # Lógica de autenticación
├── biblioteca.py # Lógica de libros
├── perfil.py # Lógica de perfil de usuario
├── database.py # Conexión SQLAlchemy
├── session_manager.py # Singleton de gestión de sesiones
├── login_usuario.py # Modelo de login
├── registro_usuario.py # Modelo de registro
├── main.py # Entrada de la app FastAPI + CORS
├── test_conexion.py # Test de conexión a BD
└── src/ # Modelos SQLAlchemy
pip install -r requirements.txt
uvicorn main:app --reloadAPI disponible en
http://localhost:8000· Docs enhttp://localhost:8000/docs
Trabajo de Fin de Grado · CFGS DAM · CESUR Málaga ☕