Skip to content

D4F474/StrongBeton

Repository files navigation

💪 StrongBeton

StrongBeton is a "workout diary" web application where each user can:

  • Records your workouts and exercises
  • Tracks your progress over time
  • Compares results with other users

✨ Main functionalities

🔐 User Account Management

  • ✅ Register and log into the system
  • ✅ User data is protected and accessible only by the account owner

🏋️‍♀️ Workout Management

  • ✅ Add new workouts after logging in
  • ✅ View a list of previous workouts

🏆 Exercise Management within a Workout

  • ✅ Add one or more exercises to each workout
  • ✅ For each exercise, users can record:
    • Exercise name
    • Targeted muscle group
    • Repetitions and weights used

🖼️ Screenshots

🏆 Leaderboard

Leaderboard

🔐 Register Form

Register

🏋️ Workout list

WorkoutList WorkoutListOne.

💪 Workout Details (CRUD)

WorkoutDetails

Friend List

FriendList

🛠️ Technologies Used

  • ☕ Java 17
  • 🌱 Spring Boot
  • 🛡️ Spring Security
  • 🔄 REST API
  • 🗄️ MySQL + JPA/Hibernate
  • 🎨 Angular
  • 📦 Maven

🗃️ Database Structure

The following diagram shows the entity relationships in the database: DataBase

🚀 How to Run the Project Locally

Follow these steps to run the StrongBeton fitness diary application:

📂 1. Load and Execute the SQL Script

Ensure your MySQL server is running and execute the provided SQL script to create the strong_beton database and necessary tables.

⚙️ 2. Configure Spring Boot Application

In your application.properties file, make sure you have the following settings: properties spring.application.name=strongBeton spring.datasource.url=jdbc:mysql://localhost:3306/strong_beton spring.datasource.username=root spring.datasource.password=root123 spring.main.banner-mode=off server.port=8081 logging.level.org.springframework.security=DEBUG

JWT settings

security.jwt.secret-key=39f27faa30598b17b1006fbdfa05578add57ea39ae7dec0b166c49f0cf0775c9 security.jwt.expiration-time=3600000 # 1 hour in milliseconds

<dependencies>
  <dependency>spring-boot-starter-data-jpa</dependency>
  <dependency>modelmapper</dependency>
  <dependency>spring-boot-starter-validation</dependency>
  <dependency>spring-boot-starter-web</dependency>
  <dependency>spring-boot-devtools</dependency>
  <dependency>mysql-connector-j</dependency>
  <dependency>spring-boot-starter-security</dependency>
  <dependency>spring-boot-starter-test</dependency>
  <dependency>spring-security-test</dependency>

  <!-- JWT Dependencies -->
  <dependency>jjwt-api</dependency>
  <dependency>jjwt-impl</dependency>
  <dependency>jjwt-jackson</dependency>
</dependencies>

You can also run:

mvn clean install

Make sure it your Angular runs on port 4200:

cd frontend
npm install
ng serve --port 4200

🚀 How to Run the Project

git clone https://github.com/your-username/StrongBeton.git
cd StrongBeton
mvn clean install
java -jar target/strongbeton.jar

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published