Skip to content

feat(CU01): autenticación, recuperación de contraseña, factories, proxy y consola

renzo.piaggio requested to merge feature/cu01-login-sesion into main

feat(CU01): autenticación, recuperación de contraseña, factories, proxy y consola

¿Qué se hizo?

Se implementó el módulo CU01 (Autenticación, gestión de sesión y contraseña) y se integró con CU03 mediante una consola interactiva para poder probar ambos módulos.

Cambios

  • Autenticación: inicio de sesión con correo y contraseña, validando que el usuario esté activo y su rol (AutenticacionService).
  • Contraseñas: clase específica para el manejo de contraseñas, con soporte de contraseña temporal (Contrasenas).
  • Recuperación de contraseña: envío de correo con CorreoSender / SmtpCorreoSender. La configuración va en mail.properties (solo se versiona mail.properties.example).
  • Repositorios: interfaces UsuarioRepositorio y RecuperacionRepositorio, con implementaciones en el paquete memory.
  • Patrones de diseño:
    • Singleton: DatabaseConfig.
    • Factory Method: UsuarioFactory, AdministradorFactory, EvaluadorExternoFactory.
    • Proxy: UsuarioServiceProxy sobre UsuarioService.
  • Consola interactiva (Consola, llamada desde Main) para probar los módulos sin modificar el código.
  • Tests en src/test.
  • Ajustes en pom.xml, .gitignore y DatabaseConfig.
  • README actualizado.

Cómo probarlo

  1. Copiar db.properties.example y mail.properties.example como db.properties y mail.properties, y completar los datos propios.
  2. Ejecutar Main desde IntelliJ.
  3. Probar: iniciar sesión, cambiar contraseña, "Olvidé mi contraseña" y cerrar sesión.

Pendiente

  • Persistencia en PostgreSQL con DAO.
  • Validaciones completas, excepciones personalizadas y cifrado de contraseñas (Etapa 3).

Merge request reports

Loading