- Spring Boot – Framework principal.
- Spring Security + JWT + OAuth2 – Para autenticación y autorización segura.
- Spring Data JPA + Hibernate – Para la capa de persistencia con base de datos.
- Base de datos – PostgreSQL o MySQL (o MongoDB si prefieres NoSQL).
- Swagger/OpenAPI – Para documentar la API automáticamente.
- Docker + Docker Compose – Para contenedores y despliegue fácil.
- JUnit + Mockito – Para pruebas unitarias.
- TestContainers + Spring Boot Test – Para pruebas de integración con bases de datos reales.
- SLF4J + Logback – Para manejo de logs.
- Manejo de errores global con
@ControllerAdvice
. - CI/CD – Configuración con GitHub Actions, Jenkins o GitLab CI.
✔️ CRUD completo con endpoints REST.
✔️ Autenticación y autorización con JWT y OAuth2.
✔️ Manejo de roles y permisos (ejemplo: admin, user).
✔️ Pruebas unitarias para lógica de negocio.
✔️ Pruebas de integración con TestContainers.
✔️ Documentación automática con Swagger.
✔️ Manejo centralizado de errores y excepciones.
✔️ Registros de actividad con logs (errores, eventos importantes).
✔️ Automatización de despliegue con CI/CD.