🌐 Pruébalo aquí: https://taskplanifier.onrender.com
TaskPlanifier es una aplicación web moderna para la gestión de tareas personales que permite a los usuarios organizar, priorizar y hacer seguimiento de sus actividades diarias de manera eficiente y segura.
- Registro de nuevos usuarios con validación de datos
- Inicio de sesión seguro con JWT (JSON Web Tokens)
- Sistema de tokens dual (Access + Refresh) para máxima seguridad
- Renovación automática de sesión sin interrupciones
- Cierre de sesión seguro con limpieza completa de tokens
- Crear nuevas tareas con título, categoría y descripción
- Editar tareas existentes con formularios dinámicos
- Eliminar tareas con confirmación de seguridad
- Marcar como completadas con un simple clic
- Reordenar tareas mediante drag & drop intuitivo
- Filtros por estado: Todas, Activas, Completadas
- Filtros por categoría: Personal, Trabajo, Estudios, Hogar
- Contador dinámico de tareas por estado
- Interfaz limpia que se adapta al contenido
- Animaciones suaves y transiciones elegantes
- Notificaciones en tiempo real para todas las acciones
- Formularios intuitivos con validación instantánea
- Mensajes de estado claro para orientar al usuario
- HTML5 - Estructura semántica y accesible
- CSS3 - Diseño responsive con Flexbox y Grid
- JavaScript ES6+ - Lógica del cliente y manipulación del DOM
- Fetch API - Comunicación asíncrona con el backend
- Node.js - Runtime del servidor
- Express.js - Framework web minimalista y flexible
- MongoDB - Base de datos NoSQL para persistencia
- Mongoose - ODM para modelado elegante de datos
- JWT (jsonwebtoken) - Autenticación stateless
- bcrypt - Encriptación segura de contraseñas
- CORS - Control de acceso entre dominios
- cookie-parser - Manejo seguro de cookies httpOnly
- verifyJWT - Validación de tokens de acceso en rutas protegidas
- CORS - Configuración de orígenes permitidos para peticiones
- Rate Limiting - Protección contra ataques de fuerza bruta (implícito)
- express.json() - Parser de JSON para peticiones
- express.urlencoded() - Manejo de datos de formularios
- cookie-parser - Extracción y manejo de cookies de autenticación
- Morgan (implícito) - Logging de peticiones HTTP
- Error Handling - Middleware personalizado para manejo de errores
- Modelos - Esquemas de datos para usuarios y tareas
- Vistas - Interfaz dinámica con JavaScript vanilla
- Controladores - Lógica de negocio separada por funcionalidad
- Endpoints organizados por recurso (auth, tasks, users)
- Métodos HTTP apropiados (GET, POST, PUT, DELETE)
- Códigos de estado HTTP consistentes
- Respuestas JSON estructuradas
- Cliente estático servido independientemente
- API backend como servicio separado
- Comunicación asíncrona mediante AJAX
- Despliegue independiente en diferentes plataformas
- Contraseñas hasheadas con salt único por usuario
- Tokens JWT con expiración automática
- Cookies httpOnly inaccesibles desde JavaScript
- Validación de datos tanto en cliente como servidor
- Protección CORS contra peticiones maliciosas
- Aislamiento de usuarios - cada usuario solo ve sus tareas