You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: README.md
+7-8
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ javafx: 17.0.8
10
10
11
11
## Running and testing the app
12
12
13
-
To run the app first enter the eclipse che workspace with the following link:
13
+
To run the app, first enter the eclipse che workspace with the following link:
14
14
15
15
[Open in Eclipse Che](https://che.stud.ntnu.no/#https://gitlab.stud.idi.ntnu.no/it1901/groups-2023/gr2307/gr2307.git?new)
16
16
@@ -24,7 +24,7 @@ This runs all the tests for the different modules and makes sure that the build
24
24
25
25
You can either run the app locally or with the REST-server.
26
26
27
-
To run it locally, you can change the value of `useRemote` in `MainController`from true to false. This makes it so no progress is saved when you close the app, but it can run without backend.
27
+
To run it locally, you can change the value of `useRemote` in `MainController`from true to false. This makes it so no progress is saved when you close the app, but it can run without a backend.
28
28
29
29
Alternatively you can from the `workoutplanner` folder navigate to `restapi` by running:
30
30
@@ -61,7 +61,7 @@ This runs all the tests for the different modules and makes sure that the build
61
61
62
62
You can either run the app locally or with the REST-server.
63
63
64
-
To run it locally, you can change the value of `useRemote` in `MainController`from true to false. This makes it so the progress is saved through persitence, and you don't communicate with the backend.
64
+
To run it locally, you can change the value of `useRemote` in `MainController`from true to false. This makes it so the progress is saved through persistence, and you don't communicate with the backend.
65
65
66
66
Alternatively you can from the `workoutplanner` folder navigate to `restapi` by running:
67
67
@@ -133,19 +133,18 @@ In Eclipse Che, you can go to the 'Endpoints' window and copy the link from port
133
133
- ./docs - [assignment documentation](./docs)
134
134
- ./CHANGELOG.md - [changelog](./changelog)
135
135
136
-
In the root directory, you can find the documentation for the assignments in the `docs` folder and the CHANGELOG.md file. The app is located in the `workoutplanner` folder, where you can find the source code for the app. This src-directory also contains a markdown for userstories, diagrams and a readme about the app. The `core` folder contains the core logic for the app, as well as persistence. The `fxui` folder contains the javafx user interface and the `fxutil` folder contains utility classes for the javafx user interface. The `restapi` folder contains the backend of the app, this is where the REST-api is.
136
+
In the root directory, you can find the documentation for the assignments in the `docs` folder and the CHANGELOG.md file. The app is located in the `workoutplanner` folder, where you can find the source code for the app. This src-directory also contains a markdown for user-stories, diagrams, and a readme about the app. The `core` folder contains the core logic for the app, as well as persistence. The `fxui` folder contains the javafx user interface and the `fxutil` folder contains utility classes for the javafx user interface. The `restapi` folder contains the backend of the app, this is where the REST-api is.
137
137
138
-
### Link to about the project
138
+
### Link to project documentation files
139
139
140
140
-[README](workoutplanner/README.md) - Contains information about the project and concept photos of the app.
141
141
-[USER_STORIES](./docs/USER_STORIES.md) - Contains the user stories for the project
142
142
-[DIAGRAMS](./docs/UML) - Contains class-diagram, sequence-diagram and package-diagram
143
-
-[persistence](./docs/PERSISTENCE.md) - Contains documentation for the persistence for the program.
144
-
-[work flow, work habits and code quality](./docs/DEVELOPMENT_PROCESS.md) - Contains documentation for the persistence for the program.
143
+
-[work flow, work habits and code quality](./docs/DEVELOPMENT_PROCESS.md) - Contains documentation for the persistence of the program.
145
144
-[releases](./docs/releases) - Contains the different releases for each milestone/assignment.
Copy file name to clipboardexpand all lines: docs/DEVELOPMENT_PROCESS.md
+7-7
Original file line number
Diff line number
Diff line change
@@ -5,21 +5,21 @@ This file goes over how we developed the application, specifically work habits,
5
5
## Work Habits and Workflow
6
6
7
7
- Issues/Milestones
8
-
- We created a milestone in gitlab for each assignment. This was to get a high-level view over what needed to be done during that assignment, what was in progress and what needed to be done. In each milestone we made issues for the things we needed to fix. These issues were mostly created each sprint or gotten from the product backlog, but others were created when we later discovered features or bugs to add/fix.
9
-
We edited the issues so that they would be easy to understand from the 'Issue boards'. We specifically added labels for different issues, for example `documentation` or `bug`. We also added a deadline to a lot of critical issues. This was to ensure that they would be done, and show where the focus should be.
8
+
- We created a milestone in gitlab for each assignment. This was to get a high-level view over what needed to be done during that assignment, what was in progress and what needed to be done. In each milestone, we made issues for the things we needed to fix. These issues were mostly created each sprint or gotten from the product backlog, but others were created when we later discovered features or bugs to add/fix.
9
+
We edited the issues so that they would be easy to understand from the 'Issue boards.' We specifically added labels for different issues, for example `documentation` or `bug`. We also added a deadline to a lot of critical issues. This was to ensure that they would be done, and show where the focus should be.
10
10
- Branching
11
11
- We created a branch related to each issue. This resulted in better workflow because we could each work on something at the same time without creating merge conflicts. It also meant that features could be isolated to one branch, and not mess up the rest of the code.
12
12
- Code Reviews
13
13
- Code reviews were important because it prevented faulty code and made us up to speed on a newer version of the application. The review gave suggestions to how the code could be improved and how to do it, resulting in a more precise code.
14
14
- Agile Development
15
-
- We implemented Scrum by having weekly meetings, where each meeting started a new sprint. We would each talk about what we had done up to the meeting, and what each member were to focus on for the next sprint. The agenda was something we created in the app `notion`, where we also kept minutes of meeting for each sprint as well as product backlog. We also gave each other positive and negative feedback.
15
+
- We implemented Scrum by having weekly meetings, where each meeting started a new sprint. We would each talk about what we had done up to the meeting, and what each member would focus on for the next sprint. The agenda was something we created in the app `notion`, where we also kept minutes of meeting for each sprint as well as product backlog. We also gave each other positive and negative feedback.
16
16
- Communication channels
17
17
- We discovered that using `messenger` would be hard when finding a specific message, and therefore used `discord` as a primary communication channel. Here we had multiple channels similar to `slack`, where we would answer each other in the `#general` chat. This made it easier to find and discuss different topics. We also had `#announcement` to keep everyone up to date and announce meetings.
18
18
19
19
## Code Quality
20
20
21
-
- We look at code quality as code which is reliable, easy to read and maintain. Achieving this makes it easier to edit and improve further on the project, as well as reduces the chance of bugs.
22
-
- SpotBugs is a dependency we implemented from the start to prevent bugs. This has helped us several times, and we made it so the program wouldn’t run unless all spotbugs bugs had been solved. This forced us to deal with the bugs then and there and therefore preemptively improve the code quality.
23
-
- Checkstyle was another dependency we implemented in our project. This changed how we wrote our code, and gave us code conventions to improve the quality. Because of this, each of the classes have a java-doc explaining the code. Checkstyle also improves readability, because it forces you to have a specific length for each line (80 characters). It also improves stability with final variables both local and as inputs.
24
-
- We also wrote a lot of inline comments, to make it easier to understand what specific lines of code would do.
21
+
- We look at code quality as code which is reliable, easier to read and maintain. Achieving this makes it easier to edit and improve further on the project, as well as reduces the chance of bugs.
22
+
- SpotBugs is a dependency we implemented from the start to prevent bugs. This has helped us several times, and we made it so the program wouldn't run unless all spotbugs bugs had been solved. This forced us to deal with the bugs then and there and therefore preemptively improve the code quality.
23
+
- Checkstyle was another dependency we implemented in our project. This changed how we wrote our code, and gave us code conventions to improve the quality. Each of the classes has a java-doc segment explaining the code because of this. Checkstyle also improves readability because it forces you to have a specific length for each line (80 characters). It also improves stability with final variables both local and as inputs.
24
+
- We also wrote a lot of inline comments to make it easier to understand what specific lines of code would do.
Copy file name to clipboardexpand all lines: docs/USER_STORIES.md
+19-19
Original file line number
Diff line number
Diff line change
@@ -3,24 +3,24 @@
3
3
This page displays the different cases for which a user can use the app as well as different functionality and situations.
4
4
5
5
Links:
6
-
[User story 1](#making-a-workout)
7
-
[User story 2](#overview-of-exercises---1)
8
-
[User story 3](#overview-of-exercises---2)
9
-
[User story 4](#swap-order-of-exercises)
10
-
[User story 5](#open-a-previous-workout-and-track-progress)
11
-
[User story 6](#edit-a-workout)
6
+
[User story 1](#making-a-workout---1)
7
+
[User story 2](#overview-of-exercises---2)
8
+
[User story 3](#overview-of-exercises---3)
9
+
[User story 4](#swap-order-of-exercises---4)
10
+
[User story 5](#open-a-previous-workout-and-track-progress---5)
11
+
[User story 6](#edit-a-workout---6)
12
12
13
-
## Making a workout
13
+
## Making a workout - 1
14
14
15
15
As an individual, I want to make my own workout, but I can't find any programs or apps that specify the sets and reps that I want for my workouts.
16
16
17
17
The user needs to make a workout where they can specify what and how much they are training, this includes `sets`, `reps` and `weight`.
18
-
Therefore, it needs to be an inputfield for the user to write the desired amount for any exercise, for example editing the sets.
18
+
Therefore, it needs to be an inputfield for the user to write the desired amount for any exercise, for example, editing the sets.
19
19
20
20
### Important visuals
21
21
22
-
-Which exercises pertain to the workout
23
-
- The amount of sets and the rep-range for the exercises
22
+
-The exercises pertain to the workout
23
+
- The number of sets and the rep-range for the exercises
24
24
- The amount of weight required for the exercises
25
25
26
26
### Important traits
@@ -29,7 +29,7 @@ Therefore, it needs to be an inputfield for the user to write the desired amount
29
29
- To add exercises to a workout
30
30
- Write values for weight, rep-range and sets
31
31
32
-
## Overview of exercises - 1
32
+
## Overview of exercises - 2
33
33
34
34
I am a person that easily forgets what exercises I have planned when I reach the training center.
35
35
Therefore, I need an overview where I can look up what I decided when I was at home, when I'm at the training center.
@@ -50,16 +50,16 @@ The overview should include the same values that they have entered before, as we
50
50
- See the exercises
51
51
- Save or cancel the workout
52
52
53
-
## Overview of exercises - 2
53
+
## Overview of exercises - 3
54
54
55
-
As a personal trainer, I want to design a plan for my client containing specific exercises that fits them. I need to design it so that it is easy for them to understand what to do, and how much they need to do when they are training without me.
55
+
As a personal trainer, I want to design a plan for my client containing specific exercises that fit them. I need to design it so that it is easy for them to understand what to do, and how much they need to do when they are training without me.
56
56
57
-
The user needs an overview of specific exercises that fit the client, and manually choose the weight, reps and sets of the exercises.
57
+
The user needs an overview of specific exercises that fit the client, and manually choose the weight, reps and sets of the exercises.
58
58
The overview should include the same values that they have entered before.
59
59
60
-
Visuals and traits are the same as in [previous user story](#overview-of-exercises---1)
60
+
Visuals and traits are the same as in [previous user story](#overview-of-exercises---3)
61
61
62
-
## Swap order of exercises
62
+
## Swap order of exercises - 4
63
63
64
64
I am someone who thinks the order of the exercises in a workout is important to how the workout is.
65
65
Therefore, I wish that I can change the order of the exercises in my workout myself.
@@ -78,12 +78,12 @@ This means that the user needs an overview where the exercises are presented cle
78
78
- Move a workout backward
79
79
- Move a workout forward
80
80
81
-
## Open a previous workout and track progress
81
+
## Open a previous workout and track progress - 5
82
82
83
83
As a regular person that goes to the gym, I want to make a workout to later revisit.
84
84
I want this to do the same workout again at a different date.
85
85
I also want to track the progress I have done on a muscle group,
86
-
and it is therefore necessary to watch what I trained, when. F.ex: I want to name a workout "core",
86
+
and it is therefore necessary to watch what I trained, when. F.ex: I want to name a workout "core,"
87
87
and when I visit the workout, I can see the core-exercises I've added earlier.
88
88
89
89
For reviewing previous workouts, it has to be possible to get an overview over which workouts have been registered, and when.
@@ -101,7 +101,7 @@ It also has to be possible to enter the workouts without adding a new workout, a
101
101
- view the name of the workout
102
102
- view the date of the workout
103
103
104
-
## Edit a workout
104
+
## Edit a workout - 6
105
105
106
106
As an individual who often changes their mind, I want to change almost everything about any workout I have created.
107
107
This includes swapping the order, deleting an exercise, adding exercises and changing the parameters.
Copy file name to clipboardexpand all lines: docs/releases/release2.md
+3-3
Original file line number
Diff line number
Diff line change
@@ -4,13 +4,13 @@
4
4
5
5
Our app now gives you two choices, either to add a workout or visit old workouts.
6
6
When you add a workout, based on different parameters, you get to an overview, where you can view what exercises you have added in a grid. You can then choose to delete the workout or save the workout.
7
-
When you delete the workout you get brought back to the home page, whereas if you press the save button, your workout gets added to a grid of former workouts. You can also customize what the workout should be named by writing in the input field at the top of the overview scene. When you have saved a workout you get the opportunity to enter former workouts by clicking on the different cells in the grid.
7
+
When you delete the workout, you get brought back to the home page, whereas if you press the save button, your workout gets added to a grid of former workouts. You can also customize what the workout should be named by writing in the input field at the top of the overview scene. When you have saved a workout, you get the opportunity to enter former workouts by clicking on the different cells in the grid.
8
8
9
9
## Focus
10
10
11
11
### Modularity
12
12
13
-
In this release we have proper modularity with a core, fxui and fxutil module, where each module is made according to maven.
13
+
In this release, we have proper modularity with a core, fxui and fxutil module, where each module is made according to maven.
14
14
We have customized the module-info and pom-files such that the entire project is working together
15
15
16
16
### Architecture
@@ -23,6 +23,6 @@ We have tests for the different modules, including TestFX in the fxui module. We
23
23
24
24
### Documentation
25
25
26
-
There is an .md file in each of the modules that explains the classes and what they do. We have focused on working in pairs, on different parts of the modules. For example did some of us work on the overview, while others worked at planview. We have done it so that spotbugs must be clean for the program to run.
26
+
There is an .md file in each of the modules that explains the classes and what they do. We have focused on working in pairs, on different parts of the modules. For example, did some of us work on the overview, while others worked at planview. We have done it so that spotbugs must be clean for the program to run.
27
27
We have also created an object diagram for the code:
0 commit comments