Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

11 Commits

Repository files navigation

DoDo! - Backend

URL de la API en Producci贸n: https://taskflow-api-modern-task-management.onrender.com

Este proyecto implementa una API para gestionar tareas (To-Do), con funcionalidades de autenticaci贸n y seguridad utilizando Express, JWT y MongoDB.

NodeJS Express MongoDB JWT

Tabla de contenidos


Descripci贸n

DoDo! es una API dise帽ada para gestionar tareas y usuarios, ofreciendo:

  • Usuarios: Registro e inicio de sesi贸n mediante autenticaci贸n basada en JWT.
  • Tareas: Crear, leer, actualizar y eliminar tareas (CRUD).

Utiliza tecnolog铆as modernas como:

  • Express: Framework para la creaci贸n de APIs RESTful.
  • MongoDB: Base de datos NoSQL para almacenar datos de usuarios y tareas.
  • JWT: Para la autenticaci贸n segura de los usuarios.
  • Winston: Para la gesti贸n y registro de logs.

Caracter铆sticas

  • API RESTful con autenticaci贸n y autorizaci贸n mediante JWT.
  • Documentaci贸n interactiva a trav茅s de Swagger, facilitando el desarrollo y pruebas.
  • Gesti贸n completa de usuarios, permitiendo el registro e inicio de sesi贸n.
  • Operaciones CRUD para gestionar tareas (To-Do).
  • Seguridad reforzada con CORS, rate limiting y validaciones de entrada.

Requisitos

Antes de ejecutar el proyecto, aseg煤rate de contar con lo siguiente:

  1. Node.js 18 o superior.
  2. MongoDB en ejecuci贸n local o un servicio en la nube.
  3. Las dependencias del proyecto (consultar package.json).
  4. Variables de entorno configuradas (ver secci贸n de instalaci贸n).

Instalaci贸n

Para configurar el proyecto en tu entorno local, sigue estos pasos:

  1. Clonar el repositorio:

    git clone https://github.com/AlejandroRomero17/DoDo-API-Modern-Task-Management-Backend
    cd DoDo-API-Modern-Task-Management-Backend
  2. Instalar las dependencias:

    npm install
  3. Configurar las variables de entorno:

    Crea un archivo .env en la ra铆z del proyecto y a帽ade lo siguiente:

    NODE_ENV=development
    PORT=5000
    DB_URL=mongodb://localhost:27017/todo
    JWT_SECRET=mi_secreto_para_jwt
    JWT_EXPIRES_IN=1d
  4. Ejecutar el servidor:

    npm run dev

La API estar谩 disponible en http://localhost:5000 (para entorno local).


Uso

Documentaci贸n interactiva

Accede a la documentaci贸n en tiempo real a trav茅s de Swagger UI:

Desde Swagger podr谩s explorar, testear y entender cada endpoint de la API. Si el endpoint requiere autenticaci贸n, utiliza el bot贸n Authorize e introduce tu token en el formato Bearer <tu-token>.

Ejemplo de JSON para crear un usuario

{
  "userName": "juanperez123",
  "firstName": "Juan",
  "lastName": "P茅rez",
  "password": "contrase帽a_segura"
}

Ejemplo de JSON para crear una tarea

{
  "title": "Comprar pan",
  "description": "Comprar pan en la tienda del barrio",
  "completed": false
}

Endpoints

Usuarios

  • POST /api/auth/register: Registra un nuevo usuario.
  • POST /api/auth/login: Inicia sesi贸n y devuelve un token JWT.

Tareas (To-Do)

  • POST /api/todo/create-to-do: Crea una nueva tarea.
  • GET /api/todo/get-all-to-do/:userId: Obtiene todas las tareas de un usuario.
  • PATCH /api/todo/update-to-do/:id: Actualiza una tarea por ID.
  • DELETE /api/todo/delete-to-do/:id: Elimina una tarea por ID.

Contribuciones

  1. Haz un fork del repositorio.
  2. Crea una nueva rama (git checkout -b feature/nueva-funcionalidad).
  3. Realiza tus cambios y haz commit (git commit -m "A帽adir nueva funcionalidad").
  4. Sube tus cambios (git push origin feature/nueva-funcionalidad).
  5. Abre un pull request.

Licencia

Este proyecto est谩 bajo la licencia MIT.


Contacto

About

馃 Backend Repo (DoDo! - Modern Task Management - Backend)

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages