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 JWT
fix(register): corregir validación de email
docs(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
main
nidevelop
. - 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).