Para ejecutar este proyecto necesitas tener instalados:
- Node.js (para el backend y el frontend)
- React (frontend, ya incluido en el proyecto)
- MongoDB (como base de datos)
git clone <URL_DEL_REPOSITORIO>
cd IW-Practicasnpm install
npm run devEsto instalará las dependencias y levantará el servidor Express en modo desarrollo.
cd view
npm install
npm run devEsto levantará el frontend en React.
- El servidor Express configura las rutas y gestiona la lógica de inicio de sesión.
- Se utilizan esquemas de validación (con Zod) para asegurar que los datos de inicio de sesión sean correctos (por ejemplo, email válido y contraseña de al menos 6 caracteres).
- Los controladores de inicio de sesión verifican si las credenciales del usuario coinciden con los registros de la base de datos.
- Si las credenciales son correctas, se genera un token de acceso (JWT).
- Se utiliza un middleware para garantizar que las rutas protegidas solo sean accesibles para usuarios autenticados.
- Este middleware verifica la validez del token y establece la identidad del usuario en la petición (
req.user).
- La generación y gestión de tokens de acceso se realiza mediante JWT.
- Estos tokens se usan para autenticar a los usuarios en las rutas protegidas.
- Las páginas de inicio de sesión permiten a los usuarios ingresar su correo electrónico y contraseña.
- Al enviar el formulario, se realiza una solicitud al servidor para verificar las credenciales.
- Axios se utiliza para gestionar la comunicación entre el cliente y el servidor.
- Se ha implementado una ruta protegida que redirige a los usuarios no autenticados a la página de inicio de sesión.
- Esta ruta protege páginas como tareas y perfil.
- Instala Node.js y MongoDB en tu máquina.
- Ejecuta el backend:
npm installnpm run dev
- Ejecuta el frontend:
cd viewnpm installnpm run dev
- Accede a la aplicación desde tu navegador.
- Asegúrate de que MongoDB esté corriendo antes de iniciar el backend.
- Puedes modificar la configuración de la base de datos en el archivo
.env. - El sistema de autenticación está basado en JWT y validación robusta de datos con Zod.