This project is a Spring Boot application for marine conservation management that integrates a MySQL database and organizes conservation events, projects, species, and habitats.
Marine Conservation is a web-based system designed to manage data on conservation events, projects, marine species, and natural habitats. The application helps organizations and researchers track initiatives and environmental information efficiently.1234567
- Spring Boot backend for rapid development and reliable architecture.5
- MySQL database integration, supporting automatic creation if the database does not exist.6
- JPA/Hibernate for ORM and schema generation.6
- Management of marine species, habitats, conservation projects, and events with extensible domain models.2341
- Swagger Link: http://localhost:8080/swagger-ui/
- Java 17 or newer.
- MySQL Server running locally on your port.
- Maven (wrapper scripts provided:
mvnwfor Unix,mvnw.cmdfor Windows).89
Update your MySQL server with the following credentials or change them in src/main/resources/application.properties:
spring.datasource.url=jdbc:mysql://localhost:yourPORT/marine-conservation?createDatabaseIfNotExist=true
spring.datasource.username=yourDBuser
spring.datasource.password=yourDBpass
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.hibernate.ddl-auto=create-drop
spring.jpa.show-sql=trueUse the Maven wrapper to build and start the application:
./mvnw spring-boot:runmvnw.cmd spring-boot:runCompile and execute unit tests using:
./mvnw test├───src
│ ├───main
│ │ ├───java
│ │ │ └───marine
│ │ │ └───conservation
│ │ │ ├───controller
│ │ │ ├───dto
│ │ │ │ ├───ConservationEvent
│ │ │ │ ├───conservationProject
│ │ │ │ ├───habitat
│ │ │ │ ├───marineSpecie
│ │ │ │ └───volunteer
│ │ │ │ └───auxiliary
│ │ │ ├───enums
│ │ │ ├───model
│ │ │ ├───repository
│ │ │ ├───service
│ │ │ │ ├───impl
│ │ │ │ └───interfaces
│ │ │ └───util
│ │ └───resources
│ └───test
│ └───java
│ └───marine
│ └───conservation
│ ├───controller
│ └───service
│ └───impl
- Application Name:
marineConservation6 - Database: Configurable in
application.properties; defaults torootuser andironhackpassword.6 - JPA: Schema is generated on application start (
create-drop), showing SQL queries for debugging.6
Licensed under the Apache License, Version 2.0.98