Repository navigation
Releases: Acedpol/expense-api
Releases · Acedpol/expense-api
Release list
v1.1.0 — CORS support for frontend integration
Añade CORS para que el proyecto de frontend (repo independiente) pueda consumir esta API desde el navegador.
Cambios
CORSMiddlewareconfigurado, orígenes permitidos víaCORS_ORIGINSen.env(lista separada por comas)- Por defecto habilita
http://localhost:5173(Vite) yhttp://localhost:3000(alternativa común) allow_credentials=Truepara que el headerAuthorization: Bearer <jwt>viaje correctamente en peticiones cross-origin- 3 tests nuevos: origen permitido, origen no permitido, y una petición preflight
OPTIONSreal - Verificado también con curl contra un servidor real (preflight + GET desde origen autorizado y no autorizado)
Con esto, el backend queda cerrado para servir de base al frontend
Ver v1.0.0 para el resto de funcionalidad base.
v1.0.0 — Backend feature-complete
Primer release estable del backend. API REST de gestión de gastos personales, lista para servir de base al frontend (proyecto 2).
Funcionalidad
- Auth con JWT (registro + login, OAuth2 password flow)
- CRUD completo de
CategoriesyExpenses, con paginación y aislamiento estricto por usuario - Migraciones de esquema versionadas con Alembic (sin
create_allen producción) - Rate limiting en
/auth/login(5 intentos/min por IP) - Logging estructurado en JSON por cada petición
- Manejo de errores consistente (
{"error": ...}) en toda la API
Calidad
- 28 tests (integración + unitarios con mocks), 95.86% de cobertura
- Gate de cobertura en CI (falla por debajo del 90%)
- Lint y formato con ruff, hooks de pre-commit
- CI en GitHub Actions en cada push/PR
Infraestructura
- Docker + docker-compose (Postgres real)
- SQLite para desarrollo local rápido sin Docker
Pendiente (fuera de alcance de este release)
- Deploy a un hosting real — requiere cuenta propia
- Endpoint de categorización automática vía LLM (stretch) — requiere API key propia
Documentación completa: ver README.md