Volver a proyectos

Task API

API REST para la gestión de tareas con autenticación por JWT, control de acceso por roles y ownership, validación de datos y una suite de tests. El sistema modela usuarios y tareas sobre PostgreSQL y está completamente dockerizado.

Node.js Express TypeScript PostgreSQL

Mi rol

Task API está pensada como una base backend sólida y reutilizable para cualquier aplicación de gestión de tareas. La arquitectura separa el transporte HTTP de la lógica de negocio y del acceso a datos, de modo que cada responsabilidad queda aislada y es fácil de testear y mantener. Sobre esa estructura se apoyan la autenticación, el control de acceso por roles y ownership, la validación de datos y el empaquetado con Docker.

Funcionalidades clave

Impacto logrado

Se logró una API robusta, tipada y segura que sirve como base sólida para cualquier aplicación de gestión de tareas. El control de acceso por roles y ownership garantiza que cada usuario sólo opere sobre sus propios datos, mientras que la validación y el manejo de errores centralizado mantienen las respuestas consistentes. La combinación de tests automatizados y una configuración totalmente dockerizada permite levantar el proyecto y verificar su correcto funcionamiento con un solo comando, facilitando el desarrollo, la revisión y el despliegue.

Tecnologías

Tecnología Uso / Implementación
Node.js · Express Servidor y API REST, con arquitectura por módulos (rutas, controladores y servicios).
TypeScript Tipado estático en todo el proyecto para mayor robustez y mantenibilidad.
Prisma ORM y migraciones versionadas sobre PostgreSQL; modelado de usuarios y tareas.
PostgreSQL Base de datos relacional para usuarios y tareas.
JWT + bcrypt Autenticación por tokens y hasheo seguro de contraseñas.
Zod Validación de datos en el borde de cada operación de la API.
Vitest + Supertest Tests unitarios del servicio y tests end-to-end de los endpoints.
Docker + docker-compose Contenerización de la API y PostgreSQL, con migraciones automáticas al arrancar.