ToDo App es una aplicación web para gestionar tareas personales. Permite a los usuarios registrarse, iniciar sesión, crear, actualizar y eliminar tareas. Cuenta con autenticación segura mediante JWT y verificación de correo electrónico.
- Node.js
- Express
- MongoDB
- Mongoose
- HTML
- CSS
- JavaScript (Vanilla JS)
- JWT
- bcrypt
- Nodemailer
- axios
- cookie-parser
- cors
- morgan
- dotenv
- /controllers --> Controladores backend (login, logout, users, todos)
- /models --> Modelos de datos Mongoose (User, Todo)
- /views --> Archivos frontend (login, signup, todos, verify)
- /components --> Componentes JS reutilizables (e.g., notificaciones)
- /app.js --> Configuración principal de Express
- /index.js --> Servidor HTTP
- /config.js --> Variables de entorno y URLs
POST /api/users→ Crear usuario y enviar correo de verificaciónPATCH /api/users/:id/:token→ Verificar usuario mediante link enviado al correo
POST /api/login→ Iniciar sesión, genera JWT y cookie
GET /api/logout→ Cerrar sesión, elimina cookie
GET /api/todos→ Obtener todas las tareas del usuario autenticadoPOST /api/todos→ Crear nueva tareaPATCH /api/todos/:id→ Actualizar estado (completada/incompleta)DELETE /api/todos/:id→ Eliminar tarea
Todas las rutas de tareas requieren autenticación mediante middleware
userExtractor.