Este proyecto es un sistema de login implementado como una API REST.
Incluye funcionalidades de:
- Creación de usuarios.
- Autenticación mediante tokens JWT.
- Manejo de roles de usuario.
- Recuperación de contraseñas por correo.
- Bloqueo de cuenta tras 5 intentos fallidos.
- Persistencia de datos en archivos planos.
- Registro de acciones (logs).
- Seguridad mediante encriptación de información sensible.
- Implementar un sistema de login con autenticación por token.
- Gestionar roles de usuario para restringir el acceso a ciertos recursos.
- Desarrollar un sistema de recuperación de contraseñas mediante el envío de correos electrónicos.
- Restringir el acceso después de más de 5 intentos fallidos.
- Manejar persistencia de logs y usuarios en archivos planos.
- Garantizar seguridad en la trazabilidad de la información mediante encriptación.
- Fredy: Configuración de repositorio, seguridad y documentación técnica.
- David: Registro de usuarios, roles y recuperación de contraseñas.
- Naranjo: Login con token, middleware y logs.
- Node.js / Express (backend API)
- JWT (autenticación)
- bcrypt (encriptación de contraseñas)
- Nodemailer (envío de correos)
- Archivos planos (persistencia simple)
main→ rama estable (para presentación final).develop→ rama de integración.feature/nombre→ ramas de desarrollo individuales.
Usaremos el siguiente formato para mensajes de commit:
Ejemplos:
feat(auth): agregar login con JWTfix(register): corregir validación de emaildocs(api): actualizar documentación en README
Tipos válidos:
feat: nueva funcionalidadfix: corrección de bugdocs: cambios en documentaciónrefactor: reestructuración sin cambiar funcionalidadtest: pruebas
- No hacer commits directos a
mainnidevelop. - Todo cambio debe ir en una feature branch.
- Los merges deben hacerse mediante Pull Requests con revisión de al menos un compañero.
- Commits claros y en español/inglés consistente.
La documentación estará disponible en Postman/Swagger (pendiente de implementar).