Este proyecto implementa una interfaz de autenticación de usuarios que incluye funcionalidades para ingresar, registrarse y recuperar contraseña. Utiliza Spring Boot con Maven y base de datos SQL.
- Java JDK 11+
- Maven 3.6+
- MySQL 8+
- Node 20+
-
Clonar el repositorio
git clone https://github.com/juancarlos2v/challenge.git cd challenge -
Crear la base de datos
CREATE DATABASE user_db;
-
Configurar variables de entorno Configura las siguientes variables de entorno en tu sistema:
spring.datasource.url=jdbc:mysql://localhost:3306/user_db?serverTimezone=UTC spring.datasource.username=${DB_USERNAME} spring.datasource.password=${DB_PASSWORD} spring.mail.username=${EMAIL_SENDER} spring.mail.password=${PASSWORD_SENDER}
-
Compilar y ejecutar el proyecto
mvn clean install mvn spring-boot:run El proyecto estará disponible en http://localhost:8080.
-
Instalar dependecias del frontend
cd frontend npm install -
Levantar la aplicación frontend
npm run dev
La aplicación frontend estará disponible en http://localhost:5173.
- Campos: Email, Password
- Validaciones:
- El campo Email debe incluir el carácter @.
- El campo Password debe incluir al menos una letra mayúscula, una letra minúscula, un número, un símbolo, y tener al menos 8 caracteres.
- Mensaje de error: Si alguno de los datos es incorrecto, mostrar "Usuario/contraseña incorrectos" sin especificar cuál es erróneo.
- Campos: Nombre, Apellido, Email, Password
- Validaciones:
- El campo Email debe incluir el carácter @.
- El campo Password debe incluir al menos una letra mayúscula, una letra minúscula, un número, un símbolo, y tener al menos 8 caracteres.
- Funcionalidad: Eliminar la clave del usuario, generar una nueva y enviarla al email del usuario.