-
Notifications
You must be signed in to change notification settings - Fork 89
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-W12-4] Fit Track #13
base: master
Are you sure you want to change the base?
Changes from 250 commits
3b9d3f1
2289407
b769182
ff410cd
e963178
09dfee7
d21204d
3245729
c61aecd
59cbea2
da48e35
4c2be5d
053956f
47cd9c4
50fdcda
b52c159
8ce97bb
fd95365
3bc961d
e69ef14
0ade10b
1018cdc
888c20c
4fe9e67
38fe527
51928d9
da897c0
332667a
0919468
fe023f7
b4e0c0b
f57c867
17b1b3e
c34ae4c
5924696
09bec2b
f211abb
ddc07ac
42f1e2c
8fad9d1
29eb9d9
7df80bf
3f091ca
bc14a1f
9d44d61
56af955
7c2758c
6ca1f5a
18fb752
6828e90
5700a3e
2b70d0e
5da0fdd
a18028d
3da8c68
5bbf02a
4b402ab
f9f4cb3
c71fb15
8c90297
6d5e85a
398efb5
e7215b4
75da23a
ab3ae0d
ba3411a
83a6abd
83270aa
34a1d84
77ec5a4
749cfe4
b1faa26
338bb7a
c7f0b5f
ea0fa1e
e7393d4
3bc5566
a2e6ad8
17eb1fd
12dec96
12542db
deb3dc3
543b16b
4cadc94
958e929
74a8dd7
58b1d24
42dd6c9
135157e
8825495
9cad9df
d14e6d6
7722301
e97557b
adc1d0b
4fd1da1
e987efd
5b4c490
05f824c
cec5194
1b4e745
ad9d989
c3b2900
a6d4cae
78a3c1b
028a31e
0ff1736
ed8d0ba
b2fa4ec
046e561
b912bca
7d3f170
d823ecd
90e89dc
ec5b854
09523a4
b414733
7ada9fa
af69658
6d59c0e
a83a039
6366a58
ce7579e
cd1e2df
20d7e88
da7c256
410722c
48aed6d
1d4874d
b845634
d8eae17
ebc54c3
27cb047
9c8d562
c00bc27
4757b1e
d721519
49ea7fd
f43fa63
fe1e212
b37af18
50b7328
0abc74f
45c50e6
b87cbe6
4b06d5c
c54541a
43b20af
84b1cd6
d74ddab
2b43512
b4e4e92
c3a43b4
a8e7723
d012af0
ddfa499
e2bec29
71e0e36
5ec0ca3
4684042
ca4188f
3029f3e
97a530f
106643f
de15132
1acfd17
dd78cda
7e8c2e4
89b8541
8e84d79
eb6e241
29b2162
e9d854e
98ea010
25bcc4f
d622294
f4c1dfe
063499d
8b09406
90574b1
1be0d01
c44646e
3d6ce1e
7c6d60f
0b74739
25422f4
d134f0e
cd19c9b
90f4664
2a4a18b
7387691
bbb2983
fb51e13
554e72b
9375004
e1255f7
50dbef3
cdd8299
d04ae90
b223164
d66ff4d
4a41498
4372723
d62f1d8
65debd7
33d833a
677580c
936ddeb
07cb1b9
dbe6e09
e3e832d
e76888b
d330ba0
6c830c3
ad58290
37cadf4
50948e6
313ae84
8750ae2
a8c9c33
4dab12a
dcbb555
474668b
e0f8189
2a11ea1
23622a3
894363a
7206485
93564a7
cb5f347
614709f
84c5ead
14c5480
6a79d13
1811a7e
bc625db
22908dd
5f08248
d019322
ad270e9
9742fe7
041fce6
2912b47
c4d0043
07f78cf
5edbc38
cc40917
74bb39a
ab958d0
ccac196
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 |
---|---|---|
|
@@ -15,3 +15,8 @@ bin/ | |
|
||
/text-ui-test/ACTUAL.TXT | ||
text-ui-test/EXPECTED-UNIX.TXT | ||
|
||
*.class | ||
MANIFEST.MF | ||
/data/ | ||
/text-ui-test/data/ |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,10 @@ | ||
# 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) | Faris Sirraj | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) | ||
![](https://via.placeholder.com/100.png?text=Photo) | Yeon Jeho | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) | ||
<img src="images/joshua.jpg" width = 25% height = 25%> | Joshua Leong | [Github](https://github.com/J0shuaLeong) | [Portfolio](docs/team/joshua.md) | ||
![](https://via.placeholder.com/100.png?text=Photo) | Ng Lixuan Nixon | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) | ||
![](https://via.placeholder.com/100.png?text=Photo) | Mark Lin | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,34 +4,122 @@ | |
|
||
{list here sources of all reused/adapted ideas, code, documentation, and third-party libraries -- include links to the original source as well} | ||
|
||
Main structure of the code and the parse feature is adapted from [here](https://github.com/se-edu/addressbook-level2). | ||
|
||
## Design & implementation | ||
|
||
{Describe the design and implementation of the product. Use UML diagrams and short code snippets where applicable.} | ||
### Main structure | ||
|
||
|
||
### Architecture | ||
{insert diagram to show architecture of code} | ||
|
||
The ***Architecture Diagram*** above shows the high-level overview and design of the FitTrack app. | ||
Given below is a quick overview of each component. | ||
|
||
<div markdown="span" class="alert alert-primary"> | ||
|
||
:bulb: **Tip:** The '.puml' files used to create the diagrams in this document can be found in [diagrams](./diagrams) | ||
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 :bulb is not showing up correctly 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 link to diagrams folder is not working |
||
folder. Refer to the [_PlantUML Tutorial_ at se-edu/guides](https://se-education.org/guides/tutorials/plantUml.html) | ||
to learn how to create and edit diagrams. | ||
|
||
</div> | ||
|
||
The **`Main`** class is called [`FitTrack`](../src/main/java/fittrack/FitTrack.java) | ||
|
||
The App consists of eight components. | ||
* [**`UI`**](#ui-component): The UI of the App. | ||
* [**`Storage`**](#storage-component): Reads data from, and writes data to, the hard disk. | ||
* [**`MealList`**](#meal-list-component): Stores all meals. | ||
* [**`UserProfile`**](#user-profile-component): The class which handles all profile data. | ||
* [**`WorkoutList`**](#workout-list-component): Stores all workouts. | ||
* [**`Parser`**](#parser-component): Handles user input. | ||
* [**`Data`**](#data-component): Holds the data of the app in memory. | ||
* [**`Command`**](#command-component): The command executor. | ||
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. Links do not work on the website |
||
|
||
### Core sequence | ||
Core sequence of code is written in [`FitTrack`](../src/main/java/fittrack/FitTrack.java) class. | ||
|
||
![Core structure](images/FitTrackOuter.svg "Outer Structure") | ||
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. Possible to remove the bottom object names with |
||
|
||
![Inner structure](images/FitTrackCore.svg "Core Structure") | ||
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. For Core Structure, is "do-while" supposed to be "loop" instead? |
||
|
||
### Creating a feedback for an invalid input | ||
Refer to [`CommandParser`](../src/main/java/fittrack/parser/CommandParser.java), | ||
[`InvalidCommand`](../src/main/java/fittrack/command/InvalidCommand.java), | ||
[`HelpCommand`](../src/main/java/fittrack/command/HelpCommand.java) | ||
classes. | ||
|
||
![Sequence of invalid command](images/InvalidCommand.svg "Sequence of invalid command") | ||
|
||
Given below is the Sequence Diagram for interactions within the Logic component for the execute("deletemeal 1") call. | ||
![Deletemeal command sequence](images/DeleteSequence.svg) | ||
|
||
### Storage Component | ||
Storage load and save functions are written in [`Storage`](../src/main/java/fittrack/storage/Storage.java) class. | ||
|
||
![Structure of Storage Load](images/StorageLoad.svg) | ||
The sequence diagram of the code for loading the file contents into each class. | ||
|
||
![Structure of Storage Save](images/StorageSave.svg) | ||
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. For Main Structure of Storage Save, the :FIleWriter on the right is hard to read, maybe choose a different colour? |
||
The sequence diagram of the code for saving data into file | ||
|
||
The `Storage` component, | ||
* can save user profile data in text format and load it back | ||
* can save meals in text format and load it back | ||
* can save workouts in text format and load it back | ||
|
||
## Product scope | ||
### Target user profile | ||
|
||
{Describe the target user profile} | ||
People who want to be healthy by managing their diet and workout. | ||
|
||
### Value proposition | ||
|
||
{Describe the value proposition: what problem does it solve?} | ||
Fittrack is a health management application which allows users to record their diet and activity, and help them to reach the goal they have set. | ||
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. This is a really good value proposition, straight to the point |
||
|
||
Fittrack also allows it's users to calculate their total calories spent in a day and receive suggestions | ||
on possible changes to their exercise, diet and lifestyle. | ||
|
||
Users will also be able to calculate key parameters of their profile like | ||
BMI, ideal weight for their height and so on. | ||
|
||
## User Stories | ||
|
||
|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| | ||
|Version| As a ... | I want to ... | So that I can ... | | ||
|--------|----------|-------------------------------------------------------------|---------------------------------------------------------------| | ||
|v1.0|new user| know how to use the product | use the product | | ||
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. Make the user comments more specific for the things that you want to implement. For example, a user knowing how to run your application doesn't really say much about what needs to be changed or updated |
||
|v1.0|new user| add my height and weight | keep track of my height and weight | | ||
|v1.0|new user| add my calorie intake for a meal | record my calorie intake | | ||
|v1.0|new user| add my daily workout | track my calories burnt | | ||
|v1.0|new user| set my daily calorie surplus limit | know whether my calorie surplus has exceeded the limit or not | | ||
|v1.0|new user| delete my daily workout | track my calorie usage | | ||
|v1.0|new user| delete my calorie intake for a meal | track my calorie intake | | ||
|v1.0|new user| edit my height and weight information | apply my changed height and weight | | ||
|v1.0|new user| view my calorie intake for a meal | know my calorie intake | | ||
|v1.0|new user| view my daily workout | know my previous daily workouts | | ||
|v1.0|new user| view my height, weight, and daily calorie surplus limit | know my height, weight and calorie surplus limit | | ||
|v2.0|user| find a to-do item by name | locate a to-do without having to go through the entire list | | ||
|v2.0|user| Calculate my ideal weight for my height | maintain my weight in the healthy range | | ||
|v2.0|user| see the total calories I have consumed on a particular date | track my daily calories intake | | ||
|v2.0|user| see the total calories I have burnt on a particular date | track my daily calories burnt | | ||
|v2.0|user| find a meal or workout | quickly search my past meals or workouts | | ||
|
||
|
||
|
||
## Non-Functional Requirements | ||
|
||
{Give non-functional requirements} | ||
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. Is this supposed to be a diagram or are there no non-functional requirements? |
||
|
||
## Glossary | ||
|
||
* *glossary item* - Definition | ||
* *BMI* - Body Mass Index (BMI) is a person’s weight in kilograms (or pounds) | ||
divided by the square of height in meters (or feet). | ||
* People can lose or gain weight through a calorie deficit/surplus, | ||
by providing them with a platform to easily monitor their calories | ||
throughout the day, this can make their weight loss/gain journey | ||
easier. | ||
|
||
|
||
## Instructions for manual testing | ||
|
||
|
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.
Im not sure if I just missed it or its a work in progress but I didn't see the diagram in the initial DG