A Spring Boot & MySQL–based backend service for managing university workshops, sessions, presenters and student participation. This service defines JPA entities, CRUD repositories, service layers, and REST controllers to support all administrative operations.
- Java 17
- Spring Boot 3.x
- Spring Data JPA
- Spring Web
- MySQL 8.x (or compatible)
- Maven for build and dependency management
- HikariCP for connection pooling
- Hibernate ORM 6.x
- Workshop CRUD
- Session CRUD
- Presenter CRUD
- PostGraduate & UnderGraduate CRUD
- Many-to-many session assignments for presenters & students
- Database migration via JPA auto-DDL
- Backup and table inspection scripts
- Java 17+ installed and
JAVA_HOMEconfigured - MySQL server running (v8.0+)
- Maven 3.6+
git clone https://github.com/yourorg/past-icae1-backend.git
cd past-icae1-backendCreate database:
CREATE DATABASE unisession CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;Grant user privileges or update application.yml with your credentials.
spring:
datasource:
url: jdbc:mysql://localhost:3306/unisession
username: your_db_user
password: your_db_password
jpa:
hibernate:
ddl-auto: update
properties:
hibernate:
format_sql: true
dialect: org.hibernate.dialect.MySQL8Dialect
server:
port: 8080- Fields:
id,name,description,startDate,endDate - Relationship:
@OneToMany→Session
- Fields:
id,name,description,date,time,workshop - Relationships:
@ManyToOne→Workshop@ManyToMany→Presenter@ManyToMany→PostGraduate@ManyToMany→UnderGraduate
- Fields:
id,name,email,gender,phone,affiliation,country,jobTitle - Relationship:
@ManyToMany→Session
- Fields:
id,name,email,gender,phone,institute,researchInterest,secondDegree - Relationship:
@ManyToMany→Session
- Fields:
id,name,email,gender,phone,degree,university - Relationship:
@ManyToMany→Session
mvn clean install
mvn spring-boot:runApplication will start at: http://localhost:8080
workshopsessionpresenterpost_graduateunder_graduatepresenter_sessionspostgraduate_sessionsunder_graduate_sessions
src/
└── main/
├── java/
│ └── com/example/demo/
│ ├── model/
└── resources/
├── application.yml