This project was developed for the subject OOP (POO in portuguese) from University of Minho - Software Engineering degree.
demo.mp4
You can download the app on project's releases.
In some words, the goal of this project was to create a Java app to manage athletes and their activities. The app should be able to add, remove, edit and list athletes, trains and plans.
If you want, you can read the project statement (in Portuguese).
The main classes of the project are TrainingPlans
, Activities
, and Users
. The latter two are abstract classes since there will be different types of activities and users. From a broad perspective, users store completed activities and training plans, while training plans store planned activities.
The activity classes follow this hierarchy: Activity > TypeOfActivity > SpecificActivity
. For example, Activity -> RepetitionsActivity -> PushUps
.
$ git clone https://github.com/Darguima/Trivial-Fitness-OOP.git
$ git clone git@github.com:Darguima/Trivial-Fitness-OOP.git
# Debian / Ubuntu / Mint
$ sudo apt install openjdk-21-jdk
# Arch
$ sudo pacman -S jdk21-openjdk
Start by going to the project root folder:
$ cd Trivial-Fitness-OOP/
This project uses Gradle to manage dependencies and tasks. To get a full list of tasks, you can run:
$ ./gradlew tasks
Although, I explain here the most important ones.
$ ./gradlew run --console=plain
$ ./gradlew build
If you want to distribute the project, you can pack the classes in an executable file:
$ ./gradlew distZip
# Unzipping the file
$ unzip app/build/distributions/trivial-fitness.zip
# Executing program - needs be with Java 21
$ ./trivial-fitness/bin/app
$ ./gradlew clean