Skip to content

moritz-ha/workoutplanner

Repository files navigation

Workout Planner

A workout planning and tracking application built with Spring Boot 4, Java 21, and a hexagonal (clean) architecture. Softwareengineering Project @ DHBW.

Info an den Prüfer: Ich habe zugegebenermaßen nicht genügend Zeit investiert, meine Designentscheidungs- und Refactoringprozesse alle zeitnah im Programmentwurf zu dokumentieren. Ich habe mit zu viel Fokus an der Domäne getüftelt. In den Issues und PRs die ich z.T als Notizen genutzt habe sind ein paar mehr Gedanken zu Designentscheidungen protokolliert. Wenn Sie möchten, schauen Sie gerne rein.

Prerequisites

  • Java 21
  • Maven (or use the included ./mvnw wrapper)
  • PostgreSQL

Database Setup

Start a PostgreSQL instance on localhost:5432 with:

  • Database: postgres
  • Username: postgres
  • Password: postgres

Using Docker:

docker run -d --name workoutplanner-db \
  -e POSTGRES_PASSWORD=postgres \
  -p 5432:5432 \
  postgres

The schema is created/updated automatically on startup (spring.jpa.hibernate.ddl-auto=update).

Build

./mvnw clean install

Run

./mvnw -pl 0-workoutplanner-plugins spring-boot:run

The application starts on http://localhost:8080.

Frontend

A simple web UI is served at http://localhost:8080 (static HTML in 0-workoutplanner-plugins/src/main/resources/static/).

API

A collection of API requests is available in the SWE-Bruno/ directory (for use with Bruno). They might not all be perfectly up to date anymore.

Key Endpoints

  • GET /exercises — list all exercises
  • POST /exercises — create an exercise
  • PUT /exercises/{id} — update an exercise
  • GET /routines — list all routines
  • POST /routines — create a routine
  • POST /workouts — start a workout from a routine
  • POST /workouts/{id}/perform — perform a planned set
  • POST /workouts/{id}/finish — finish a workout

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors