Este es un sistema de gestión de un club náutico desarrollado con Java, Spring Boot, JPA/Hibernate y MySQL. Permite administrar socios, barcos, y viajes o salidas al mar, utilizando una arquitectura organizada por capas: controladores, servicios, repositorios y persistencia.
Socio: Representa a un socio del club (nombre, apellido, teléfono, etc).
Barco: Asociado a un socio propietario. Tiene matrícula, nombre y cuota.
Viaje: Salida al mar. Relacionada con un barco y un patrón (socio patrón).
Crear, leer, actualizar y eliminar Socios, Barcos y Viajes.
Consultas específicas:
Buscar socios por nombre parcial o ID.
Filtrar barcos por matrícula, nombre o cuota.
Filtrar viajes por destino, fecha o patrón.
Soporte para datos de patrón independientes o referenciados desde un socio.
Java 17+
Spring Boot 3
Spring Data JPA (Hibernate)
MySQL como base de datos relacional
Lombok para simplificar código
Postman / Swagger para pruebas de la API REST
Algunos ejemplos:
GET /socio/findAll – Listar todos los socios
GET socio/find/nombre?nombre=Juan – Buscar por nombre parcial
GET socio/find/telefono/ – Buscar socios por teléfono
GET /barco/find/matricula/6543AAA – Buscar por matrícula
GET /barco/findEntre/100,300 – Buscar por cuota
GET /viaje/find/destino/Ibiza – Buscar por destino
GET /viaje/find/fechaEntre/2025-05-25 11:00:00,2025-05-25 19:00:00 – Buscar por rango de fechas
PUT /viaje/update/{id} – Actualizar un viaje
git clone https://github.com/JuanjoJmnz/ClubNautico.git
cd ClubNautico
spring.datasource.url=jdbc:mysql://localhost:3306/clubnautico
spring.datasource.username=root
spring.datasource.password=tucontraseña
spring.jpa.hibernate.ddl-auto=update
mvn spring-boot:run
Se incluyen clases de prueba con JUnit 5 para los controladores principales. Puedes ejecutar los tests desde tu IDE o usando:
mvn test
Juan José Jiménez Gil.
Proyecto desarrollado para mis prácticas en empresa en el 1º curso del CFGS DAM