The Fitness Backend Application is a RESTful web service built with Java and Spring Boot, designed to manage user fitness data, workout sessions, and exercises. This application supports basic CRUD (Create, Read, Update, Delete) operations for users, workout sessions, and exercises. It leverages a MySQL database for data persistence and implements JPA inheritance to manage different types of workout sessions.
- REST API following best practices.
- CRUD operations for users, workout sessions, and exercises.
- MySQL database integration.
- JPA inheritance for extending entity relationships.
- Robust error handling.
- Unit and integration tests.
- Deployed on GitHub.
- Java
- Spring Boot
- Spring Data JPA
- MySQL
- JUnit
- MockMvc
The application consists of three main entities: User
, WorkoutSession
, and Exercise
. The User
entity represents users of the application, while the WorkoutSession
entity captures details of individual workout sessions, and the Exercise
entity represents individual exercises within a workout session.
id
(Primary Key)name
username
email
dateOfBirth
gender
id
(Primary Key)date
workoutDuration
caloriesBurned
user_id
(Foreign Key)
id
(Primary Key)name
reps
sets
weight
workout_session_id
(Foreign Key)