API Backend para el sistema de gestión de Stadium.
- Arquitectura de la Aplicación - Arquitectura de modelos de datos, flujos y convenciones
- Ayuda de Spring Boot - Guía de referencia de Spring Boot
- Java 17+
- Maven 3.6+
- Docker & Docker Compose (para base de datos)
# Levantar la base de datos
docker-compose -f docker-compose.db.yml up -d
# Ejecutar la aplicación
./mvnw spring-boot:run./fresh_restart.sh- Reinicia la aplicación desde cero./build_and_push.sh- Construye y sube la imagen Docker
La aplicación sigue una arquitectura de tres capas de modelos:
- Database Models - Mapeo JPA con la base de datos
- DTOs - Contratos de la API REST
- Service Models - Objetos de dominio para lógica de negocio
Más detalles en docs/ARCHITECTURE.md.
stadium_back/
├── src/main/java/upm/dit/adsw/stadiumback/
│ ├── config/ # Configuración de la aplicación
│ ├── exception/ # Manejo de excepciones
│ ├── models/
│ │ ├── database/ # DB Models (JPA Entities)
│ │ ├── dto/ # Data Transfer Objects
│ │ └── service/ # Service Models
│ ├── repositories/ # Repositorios JPA
│ ├── restcontrollers/ # Controladores REST
│ ├── security/ # Configuración de seguridad y JWT
│ ├── services/ # Lógica de negocio
│ └── utilities/ # Utilidades y constantes
├── src/main/resources/
│ └── application.yml # Configuración de la aplicación
└── docs/ # Documentación
- Spring Boot 3.x - Framework principal
- Spring Security - Autenticación y autorización
- Spring Data JPA - Persistencia de datos
- JWT - Tokens de autenticación
- PostgreSQL - Base de datos
- Docker - Contenedorización
- Maven - Gestión de dependencias
[Pendiente]