Skip to content

OnisaDev/Chapter-Data

Repository files navigation

✦ Chapter Data · Backend ✦

Python · FastAPI · SQLAlchemy · bcrypt · TFG DAM

Python FastAPI SQLAlchemy bcrypt MySQL DAM

Parte del proyecto Chapter Data · Ver también: Frontend · BBDD


📋 Descripción

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.


🔌 Endpoints

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

✨ Características técnicas

  • 🔐 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 separadosauth.py, biblioteca.py, perfil.py, login_usuario.py, registro_usuario.py

🛠️ Stack

Python FastAPI SQLAlchemy bcrypt MySQL


📁 Estructura

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

🚀 Instalación

pip install -r requirements.txt
uvicorn main:app --reload

API disponible en http://localhost:8000 · Docs en http://localhost:8000/docs


Trabajo de Fin de Grado · CFGS DAM · CESUR Málaga ☕

About

API REST FastAPI para Chapter Data — diario de lecturas. SQLAlchemy, bcrypt, MySQL, CORS. TFG DAM.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages