La Gift Exchange API es una aplicación diseñada para facilitar el intercambio de regalos durante la temporada de Nochebuena. Permite a los usuarios registrarse, autenticarse, y participar en el sorteo de destinatarios de regalos. La API está construida con Spring Boot y utiliza Spring Security para la autenticación y autorización, Swagger para la documentación interactiva, PostgreSQL como base de datos, Flyway para la gestión de migraciones de base de datos, JavaMail para el envío de correos electrónicos y JWT para la autenticación basada en tokens.
- Registro y Autenticación de Usuarios: Permite a los usuarios registrarse y autenticarse en la plataforma.
- Gestión de Participantes: Los usuarios pueden registrarse como participantes del intercambio de regalos.
- Asignación Aleatoria de Destinatarios: Asigna aleatoriamente destinatarios de regalos a los participantes.
- Visualización de Asignaciones: Los participantes pueden ver a quién deben regalarle.
- Documentación Interactiva: Utiliza Swagger para proporcionar una documentación interactiva de la API.
- POST
/auth/register
: Registrar un nuevo usuario. - POST
/auth/login
: Iniciar sesión con un usuario existente.
- POST
/participants/register
: Registrar un nuevo participante. - GET
/participants/assigned
: Obtener el participante asignado para el regalo.
- POST
/assignments
: Asignar destinatarios de regalos aleatoriamente. - GET
/assignments/list
: Listar todas las asignaciones de regalos.
- Java 21
- Spring Boot para el desarrollo de la aplicación.
- Spring Security para la autenticación y autorización.
- Swagger para la documentación de la API.
- PostgreSQL como base de datos.
- Flyway para la gestión de migraciones de base de datos.
- JavaMail para el envío de correos electrónicos.
- JWT para la autenticación basada en tokens.
- Java JDK 21
- Maven 3
- PostgreSQL 14
-
Instalar las dependencias necesarias.
Asegúrate de tener instalados Java JDK 21, Maven 3 y PostgreSQL 14.
-
Configurar la base de datos.
Crea una base de datos en PostgreSQL y actualiza las credenciales en el archivo
application.properties
. -
Construir el proyecto con Maven.
mvn clean package
-
Ejecutar el JAR generado.
java -jar target/gitfexchange.jar
-
Acceder a la documentación de la API en
http://localhost:8080/swagger-ui.html
.
La API proporciona puntos finales para gestionar el intercambio de regalos. A continuación se muestran los puntos finales disponibles y sus formatos de solicitud/respuesta esperados.
Documentación Gift Exchange API
A continuación se muestran ejemplos de la plantilla de mensaje configurado por JavaMail: