Skip to content

Latest commit

 

History

15 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📌 Gestor de Tareas Personal – Backend

Este repositorio contiene la implementación completa del backend para la prueba técnica Software Engineer Wagon.
La API está desarrollada en NestJS con Prisma ORM y PostgreSQL, e incluye autenticación con JWT.


🚀 Tecnologías Utilizadas

  • Lenguaje: TypeScript
  • Framework: NestJS
  • ORM: Prisma
  • Base de Datos: PostgreSQL
  • Autenticación: JWT (JSON Web Tokens)
  • Gestor de Paquetes: npm o yarn

📂 Estructura del Proyecto

image

🔑 Funcionalidades Implementadas

  • Autenticación y Autorización con JWT.
  • Registro de usuario (/auth/signup).
  • Inicio de sesión (/auth/login).
  • Perfil de usuario autenticado (/auth/profile).
  • Gestión de tareas:
    • Crear tarea (POST /tasks)
    • Listar tareas (GET /tasks)
    • Obtener tarea por ID (GET /tasks/:id)
    • Actualizar tarea (PUT /tasks/:id)
    • Eliminar tarea (DELETE /tasks/:id)
    • Filtrar por estado (pendiente / completada)

📡 Endpoints

Método Endpoint Descripción Autenticación
POST /auth/signup Registro de usuario ✅ Sí
POST /auth/login Inicio de sesión ✅ Sí
GET /auth/profile Datos del usuario autenticado ✅ Sí
GET /tasks Listar todas las tareas ✅ Sí
GET /tasks/:id Obtener tarea por ID ✅ Sí
POST /tasks Crear nueva tarea ✅ Sí
PUT /tasks/:id Actualizar tarea ✅ Sí
DELETE /tasks/:id Eliminar tarea ✅ Sí

📄 Ejemplos de Requests y Responses

Request

POST /auth/signup
{
  "email": "usuario@correo.com",
  "password": "123456"
}

{
  "id": 1,
  "email": "usuario@correo.com",
  "createdAt": "2025-08-09T12:00:00.000Z"
}

POST /auth/login
{
  "email": "usuario@correo.com",
  "password": "123456"
}
{
  "access_token": "jwt_generado_aquí"
}
GET /auth/profile
Authorization: Bearer <token_jwt>
{
  "id": 1,
  "email": "usuario@correo.com",
  "createdAt": "2025-08-09T12:00:00.000Z"
}
POST /tasks
Authorization: Bearer <token_jwt>
{
  "title": "Comprar pan",
  "description": "Ir a la panadería antes de las 8 am"
}
{
  "id": 5,
  "title": "Comprar pan",
  "description": "Ir a la panadería antes de las 8 am",
  "status": "pending",
  "createdAt": "2025-08-09T12:10:00.000Z"
}
´´´

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages