API diseñada para gestionar colecciones de items coleccionables (figuras, cartas, merchandising, etc.).
Antes de ejecutar el proyecto, asegúrate de tener instalado:
- Java 21 (JDK) Descargar aquí
- Docker Desktop Descargar aquí
- Maven 3.8+ Descargar aquí
- Git (Si quieres clonar el repositorio)
- Cliente de base de datos (opcional solo si quieres visualizar la bd)
- /config: Configuración (ModelMapper)
- /controller: Controladores REST y rutas HTTP
- /domain: Entidades JPA
- /dto: Entrada/salida de datos
- /exception: Excepciones personalizadas
- /repository: Repositorios JPA
- /security: Configuración JWT y autenticación
- /service: Lógica de negocio
- /util: Utilidades
- Autenticación (
/auth) - Usuarios (
/usuarios) - Colecciones (
/colecciones) - Items (
/items) - Usuario-Item (
/usuario-items) - Usuario-Colección (
/usuario-colecciones)
-
Clonar el repositorio
git clone https://github.com/NereaTM/FanCollector.git cd fancollector -
Crear archivo
.enven la raíz del proyecto:MARIADB_USER=fancollector_user MARIADB_PASSWORD=tu_password MARIADB_DATABASE=fancollector MARIADB_ROOT_PASSWORD=root_password
-
Levantar la base de datos
docker-compose up -d
Nota: No necesitas crear la base de datos manualmente. Docker Compose la crea automáticamente al levantar el contenedor
- Ejecutar la aplicación
mvn spring-boot:run
La API estará disponible en http://localhost:8080
La API utiliza JWT para autenticación
- Te registras
- Te logeas y devuelve un token
- Usar el token: Incluir en header
Authorization: Bearer {token}
- ADMIN: Poder absoluto (público y privado). Único que puede crear usuarios y asignar roles
- MODS: Permisos de USER + editar/borrar contenido público
- USER: Ver público, crear y gestionar sus propias colecciones/items, modificar perfil propio
- NO-AUTH: Crear usuario nuevo y ver colecciones públicas
# Detener la aplicación: Ctrl+C
# Detener Docker:
docker-compose downProyecto escolar de DAM Curso 2025–2026