-
Notifications
You must be signed in to change notification settings - Fork 248
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[CS2113-T14-1] Fitness Checker #57
base: master
Are you sure you want to change the base?
Changes from 126 commits
73a46ab
6ebc0ce
e47cd8b
5334b66
2570279
0d240ec
8a1b0fe
67206e2
b1a756b
a2fcad4
0a06ce2
21c0a29
d0dc350
c3142a9
c6c62d9
f7326ee
1955356
c646578
48aab90
95d9bc9
c9bc716
11821ab
8a2d56b
9a790ce
3b3271f
7dd3c1b
6d41b2f
908e43c
8a70b27
722d9aa
2f9ab5f
fdc7887
8a47385
0f4ba6e
9b2c4e2
65adeac
fc7734f
577fa52
636d435
aa02a41
9208070
fdc3fd7
408a27d
8fff52b
5d6fe16
f26b9a9
d30bcb5
4937d4d
158d29a
de978fc
68737dc
1245a18
bb92abe
c6e68de
168e961
e6bc56c
819ab26
c3af244
de5c9cb
8baaccf
92e4ccb
8e44e5c
3e0b96c
5fec0d0
5751bf6
4b01c05
c2349bb
f48c187
5300eb9
c8d547e
3bfa376
ce8cc55
9f5eb25
d7440cd
eb0e8e5
d34a6f2
a032904
4b34ff8
308a1db
ac89531
ad27b30
63a64e9
e4df581
9ab8dc2
631e226
5357ed1
e5b4149
baf33db
dc2b576
303f655
7431142
62a0cb2
bad280a
529ea22
16eb23d
74d7b0b
579a268
63ca80c
d4787d5
cb0c961
7e0d7d3
a195695
ec0430b
1dfba74
0689b0c
ce43686
0dc3377
35012a0
9363c03
5ba626f
6a279ed
407a0f4
f092986
1ed3059
a9bb5d1
606d276
f46b143
180a48d
8786782
5894478
16f0449
53564c9
99c892e
724de98
5df3942
ac7d265
712adf3
1390bf8
7ed51d0
05e9051
eb96951
753a802
550d4bc
2473b8a
180efde
0d26711
b66b97b
196ce73
69d11c1
e2538a4
4c9b16c
179da28
cb5ed09
28d434b
6c33cbf
0f45df0
2efe7ea
d5197d4
dcc976e
b3e4e94
27fa094
3c57dd0
c53a2e7
b73aec1
9b78a9a
105501d
a902eca
1caddaa
1b2b58e
0fb6b2a
e71a539
b0a1a20
1766676
a705c6f
112ad6a
9dbfbda
233523d
d8d7fb3
c814dfc
f1a55ad
39f25ad
c6d4587
aaac968
00cd9c7
4202318
acff6b7
3e15b38
7f106c9
deb2276
f773d33
62d5f0e
643d13f
7ff91e7
1ab111f
91cf627
4f4942e
8e428a4
457fe5b
2b86727
c0c3498
2e3ab3d
35dc342
b7e87bb
82bda36
5cc4f60
eb66ca5
beb98db
bf42d21
9ba9ee8
b97c565
b869285
95f6290
fd19274
547875f
6898afa
0201c7b
5ffc3b1
b8a134a
618c778
018bae2
bf705b0
583898c
cc6233a
49fabdf
d402de6
c4f152d
1253a68
2d5242d
fd51ef6
b04a462
28a1fa3
6f00eb4
a5c5aca
8ea4d37
a30a7a2
6877aca
e6d909e
527d174
98c7783
7b1684f
bb52264
1b3e3de
a024f6a
28a82e9
840ade6
2562b05
3bef996
6034e3b
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,14 @@ | ||
# About us | ||
|
||
Display | Name | Github Profile | Portfolio | ||
--------|:----:|:--------------:|:---------: | ||
![](https://via.placeholder.com/100.png?text=Photo) | John Doe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) | ||
![](https://via.placeholder.com/100.png?text=Photo) | Don Joe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) | ||
![](https://via.placeholder.com/100.png?text=Photo) | Ron John | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) | ||
![](https://via.placeholder.com/100.png?text=Photo) | John Roe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) | ||
![](https://via.placeholder.com/100.png?text=Photo) | Don Roe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) | ||
| Display | Name | Github Profile | Portfolio | | ||
|-----------------------------------------------------|:-----------------:|:------------------------------------------------:|:---------------------------------:| | ||
|
||
| ![](https://via.placeholder.com/100.png?text=Photo) | Richard Kurniawan | [Github](https://github.com/Richardtok) | [Portfolio](docs/team/johndoe.md) | | ||
|
||
| ![](https://via.placeholder.com/100.png?text=Photo) | Don Joe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) | | ||
|
||
| ![](https://via.placeholder.com/100.png?text=Photo) | Caleb Chan Jia Le | [Github](https://github.com/calebcjl) | [Portfolio](docs/team/johndoe.md) | | ||
|
||
| ![](https://via.placeholder.com/100.png?text=Photo) | Guillaume Gerony | [Github](https://github.com/guillaume-grn) | [Portfolio](docs/team/johndoe.md) | | ||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,38 +1,164 @@ | ||
# Developer Guide | ||
|
||
## Table of Contents | ||
|
||
<!-- TOC --> | ||
* [Acknowledgements](#acknowledgements) | ||
* [Product Scope](#product-scope) | ||
* [Target User Profile](#target-user-profile) | ||
* [Value Proposition](#value-proposition) | ||
* [Design & Implementation](#design--implementation) | ||
* [Architecture](#architecture) | ||
* [UI component](#ui-component) | ||
* [Start component](#start-component) | ||
* [Add component](#add-component) | ||
* [List component](#list-component) | ||
* [View component](#view-component) | ||
* [Delete component](#delete-component) | ||
* [Exit component](#exit-component) | ||
* [User Stories](#user-stories) | ||
* [V1.0](#v10) | ||
* [V2.0](#v20) | ||
* [Non-Functional Requirements](#non-functional-requirements) | ||
* [Glossary](#glossary) | ||
* [Instruction for Manual Testing](#instructions-for-manual-testing) | ||
<!-- TOC --> | ||
|
||
|
||
## Acknowledgements | ||
|
||
{list here sources of all reused/adapted ideas, code, documentation, and third-party libraries -- include links to the original source as well} | ||
###### [Back to table of contents](#table-of-contents) | ||
|
||
## Product Scope | ||
|
||
### Target User Profile | ||
* People who go to gym and do exercise | ||
* People who want to lose weight or strength muscles | ||
|
||
### Value Proposition | ||
Help our target users to record down the exercise, and they can check the exercise whenever they want. | ||
Besides, this fitness app also help them to calculate the calories consumption for each workout. | ||
|
||
|
||
## Design & implementation | ||
###### [Back to table of contents](#table-of-contents) | ||
|
||
## Design & Implementation | ||
{Describe the design and implementation of the product. Use UML diagrams and short code snippets where applicable.} | ||
|
||
### Architecture | ||
|
||
###### [Back to table of contents](#table-of-contents) | ||
|
||
We aim to help fellow gym enthusiasts and new gym members to help keep | ||
track of their future and present training. | ||
======= | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Perhaps this shouldn't be here. :) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The explanation of the architecture of the app is too brief. |
||
### UI component | ||
|
||
###### [Back to table of contents](#table-of-contents) | ||
|
||
### Start component | ||
|
||
###### [Back to table of contents](#table-of-contents) | ||
|
||
### Add component | ||
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Maybe more examples such as a sample input and expected output could be provided for a clearer understanding of specific features/commands in the component. Similarly for other components. |
||
The add mechanism is facilitated by `AddCommand`. | ||
It extends `Command` and modifies the execute function to add an exercise. | ||
|
||
<img src="images/AddExerciseDiagram.png" width="450" /> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Perhaps it would be helpful to add activation bars in the diagram to show the timeline of the methods being called There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Perhaps using some sort of color coding would be nice as well. I agree with adding activation bars too There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Since the other 2 diagram uses activation bar, perhaps it will be better to be more consistent throughout and use activation bar here too. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Maybe you could add the activation bars in the UML diagram followed by the numbering of the workflow which is done for the other UML diagrams in the DG. |
||
|
||
Given below is an example usage scenario and how the add mechanism behaves at each step. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Perhaps the order of the add component could be rearranged to help the DG look more consistent and easy to follow. The structure of the add component is different from the view and delete component where the workflow is before the UML diagram. |
||
|
||
Step 1. The user enters the add command with the necessary arguments. | ||
|
||
Step 2. The input is processed by the `Parser` to separate out the arguments and creates the exercise to be added, | ||
`toAdd`. | ||
|
||
Step 3. The `AddCommand` calls `execute()` which calls `WorkList#getCurrentWorkout()` to return `currentWorkout`. | ||
|
||
Step 4. Finally, `addExercise()` is called and `toAdd` is added to `currentWorkout`. | ||
|
||
###### [Back to table of contents](#table-of-contents) | ||
|
||
### List component | ||
|
||
## Product scope | ||
### Target user profile | ||
###### [Back to table of contents](#table-of-contents) | ||
|
||
{Describe the target user profile} | ||
### View component | ||
The View component is facilitated by `Parser`,`Ui`,`WorkoutList`,`Command` and `ViewCommand`, where the user will | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Perhaps adding more UML diagrams would be nice, so that I as a developer can view how the program interacts with each components more visually |
||
enter a specific workout date and the number of exercises on that date will be displayed | ||
|
||
### Value proposition | ||
Below are the specific steps on how to use the view function and how the mechanism will flow: | ||
|
||
* Step 1: We will assume that the user has started a workout on two specific dates, `11/02/22` which was added with the following command `/start 11/02/22` | ||
and `12/02/22`, which was added with the following command `/start 12/02/22`. | ||
* Step 2: The user will then use the following command `/view 11/02/22` will be taken into the parser | ||
and will return a list of exercises done on that specified date. | ||
|
||
<img src="images/ViewDiagram.png" width="450" /> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Activation bar at the bottom not closed for both |
||
|
||
###### [Back to table of contents](#table-of-contents) | ||
|
||
### Delete component | ||
The deletion mechanism is facilitated by 'Parser', 'DeleteCommand', 'Workout', 'WorkoutList' and 'UI', where a Workout object will be deleted according to the command inputted by the user and removed from the workout list. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Perhaps you can use the Markdown format for the names of the classes, such as |
||
|
||
<img src="images/DeleteWorkoutDiagram.png" width="450" /> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Activation bar at the bottom not closed for both |
||
|
||
Below is an example usage scenario and how the deletion mechanism behaves at each step: | ||
|
||
Step 1: Assume that the user has already added a workout on 21/03/23 into the WorkoutList using the following command, /start 21/03/23 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Perhaps you can use the Markdown format for code snippets, such as for |
||
|
||
Step 2: The user input of /delete 21/03/23 will be taken in for the parser and an object of class DeleteCommand will be returned. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Perhaps you can use the Markdown format for code snippets, such as for |
||
|
||
Step 3: The execute method in the DeleteCommand class that is overrides will be called with parameter date and will iterate through workoutList looking for a workout that matches. It will then remove the workout from the workoutList. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Perhaps it will be better for commands to be in markdown code snippets format. It may also be better to highlight class name so to make it more easily identified. |
||
###### [Back to table of contents](#table-of-contents) | ||
|
||
### Exit component | ||
|
||
###### [Back to table of contents](#table-of-contents) | ||
|
||
{Describe the value proposition: what problem does it solve?} | ||
|
||
## User Stories | ||
### V1.0 | ||
|
||
| As a | I want to ... | So that I can ... | | ||
|----------|---------------------------------------------------------------------------|-----------------------------------| | ||
| user | record down my exercise for each workout | check the workout whenever l want | | ||
| new user | know how to use the app | | | ||
| user | know which days l have done exercise | have clear insight of myself | | ||
| user | know how many workouts l have done for a day | make exercise plan based on this | | ||
| user | remove some workouts that have been incorrectly recorded | | | ||
|
||
|
||
|
||
### V2.0 | ||
|
||
| As a | I want to ... | So that I can ... | | ||
|------|-----------------------------------------------------------|--------------------------------------------| | ||
| user | know the amount of calories I consume each day | control the calories intake | | ||
| user | know the workout l have done in last month | make a exercise plan for next month | | ||
| user | know the frequency l do exercise for one month | inspire myself | | ||
| user | know the amount of calories I have consumed for one month | have better insights of my calories intake | | ||
|
||
|
||
###### [Back to table of contents](#table-of-contents) | ||
|
||
|Version| As a ... | I want to ... | So that I can ...| | ||
|--------|----------|---------------|------------------| | ||
|v1.0|new user|see usage instructions|refer to them when I forget how to use the application| | ||
|v2.0|user|find a to-do item by name|locate a to-do without having to go through the entire list| | ||
|
||
## Non-Functional Requirements | ||
|
||
{Give non-functional requirements} | ||
###### [Back to table of contents](#table-of-contents) | ||
|
||
## Glossary | ||
|
||
* *glossary item* - Definition | ||
|
||
###### [Back to table of contents](#table-of-contents) | ||
|
||
|
||
## Instructions for manual testing | ||
|
||
{Give instructions on how to do a manual product testing e.g., how to load sample data to be used for testing} | ||
|
||
###### [Back to table of contents](#table-of-contents) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps you can further elaborate on how your program features add value to the target user