Portafolio · Proyecto propio

TaskFlow API

API REST profesional para gestión de proyectos y tareas en equipo: autenticación segura, arquitectura limpia y pruebas automatizadas. Diseñada, construida y documentada de punta a punta por Corya.

25+endpoints REST
42pruebas automatizadas
0errores en TypeScript estricto
← Volver al portafolio
Qué es

Un backend como los que usan los productos serios

TaskFlow organiza proyectos, tareas y equipos — al estilo de herramientas como Trello o Linear — y demuestra cómo construimos sistemas a la medida: cada pieza validada, probada y lista para producción.

  • Registro e inicio de sesión con JWT y rotación de refresh tokens
  • Proyectos y tareas con filtros, búsqueda y paginación
  • Comentarios y roles de equipo (administrador / miembro)
  • Validación de datos en cada endpoint con Zod
  • Límite de peticiones y headers de seguridad en producción
  • Documentación interactiva OpenAPI / Swagger
Node.js 22 TypeScript 5 Express 5 PostgreSQL 17 Prisma 7 Zod Vitest GitHub Actions Railway
// Toda respuesta sigue el mismo contrato { "data": [ ], "pagination": { "total": 42, "page": 1, "limit": 20, "totalPages": 3 } } // Y todo error se responde con claridad { "error": { "status": 400, "code": "VALIDATION_ERROR", "message": "Los datos enviados no son válidos" } }
Consola de demostración

Pruébala sin instalar nada

Elige un endpoint y observa la petición y la respuesta tal como las entrega la API. Es una simulación en tu navegador con las respuestas reales del sistema; el servicio completo corre sobre Node.js y PostgreSQL.

El código fuente completo, la documentación y la guía de despliegue están en github.com/zClimax/taskflow-api.

taskflow-api — demostración

        
Cómo está construida

Arquitectura en tres capas

La lógica no vive amontonada en el endpoint: cada capa tiene una sola responsabilidad, se prueba por separado y se puede cambiar sin romper el resto.

01

Controller

Recibe la petición HTTP, extrae los datos ya validados y regresa la respuesta. Cero lógica de negocio.

tasks.controller.ts
02

Service

Aplica las reglas del negocio: ¿este usuario es miembro del proyecto? ¿puede borrar este comentario?

tasks.service.ts
03

Repository

Habla con la base de datos a través de Prisma, con consultas tipadas de extremo a extremo.

tasks.repository.ts
Seguridad y calidad

Lo que no se ve, también está cuidado

Seguridad

  • Contraseñas cifradas con bcrypt
  • Tokens de acceso de vida corta con rotación de refresh
  • Cierre de sesión en todos los dispositivos
  • Headers de seguridad (Helmet) y CORS configurado
  • Límite de peticiones global y reforzado en login

Calidad

  • TypeScript en modo estricto, sin excepciones
  • Validación de entrada con Zod en cada ruta
  • 42 pruebas: unitarias y de integración contra base real
  • Integración continua en GitHub Actions

Operación

  • Despliegue automatizado en Railway
  • Migraciones de base de datos versionadas
  • Endpoint de salud para monitoreo
  • Registro de peticiones con tiempos de respuesta

¿Tu negocio necesita un sistema con esta solidez?

Agenda tu diagnóstico gratis