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.
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.
- 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.
Antes de ejecutar el proyecto, aseg煤rate de contar con lo siguiente:
- Node.js 18 o superior.
- MongoDB en ejecuci贸n local o un servicio en la nube.
- Las dependencias del proyecto (consultar
package.json). - Variables de entorno configuradas (ver secci贸n de instalaci贸n).
Para configurar el proyecto en tu entorno local, sigue estos pasos:
-
Clonar el repositorio:
git clone https://github.com/AlejandroRomero17/DoDo-API-Modern-Task-Management-Backend cd DoDo-API-Modern-Task-Management-Backend -
Instalar las dependencias:
npm install
-
Configurar las variables de entorno:
Crea un archivo
.enven 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
-
Ejecutar el servidor:
npm run dev
La API estar谩 disponible en http://localhost:5000 (para entorno local).
Accede a la documentaci贸n en tiempo real a trav茅s de Swagger UI:
- Producci贸n: https://taskflow-api-modern-task-management.onrender.com/api-docs
- Local: http://localhost:5000/api-docs
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>.
{
"userName": "juanperez123",
"firstName": "Juan",
"lastName": "P茅rez",
"password": "contrase帽a_segura"
}{
"title": "Comprar pan",
"description": "Comprar pan en la tienda del barrio",
"completed": false
}POST /api/auth/register: Registra un nuevo usuario.POST /api/auth/login: Inicia sesi贸n y devuelve un token JWT.
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.
- Haz un fork del repositorio.
- Crea una nueva rama (
git checkout -b feature/nueva-funcionalidad). - Realiza tus cambios y haz commit (
git commit -m "A帽adir nueva funcionalidad"). - Sube tus cambios (
git push origin feature/nueva-funcionalidad). - Abre un pull request.
Este proyecto est谩 bajo la licencia MIT.
- Nombre: Alejandro Gonzalez Romero
- Correo electr贸nico: [email protected]
- GitHub: https://github.com/AlejandroRomero17