Skip to content
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

[CS2113T-F14-2] Fitbot #50

Open
wants to merge 887 commits into
base: master
Choose a base branch
from

Conversation

tryyang2001
Copy link

Fitbot is a desktop app that helps university students who are looking to keep track of their fitness and health with the speed and convenience of command-line based tools, especially in times of online school.

Copy link

@tngjunwei tngjunwei left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall, the developer's guide is very well written. The explanations provided makes it very easy to understand. The minor issues only lie with the diagrams. Keep it up!

Comment on lines 55 to 58
Interaction between the classes could be shown by the uml sequence diagram below.

<p align="center" width="100%">
<img width="100%" src="images/Architecture.png" alt="Architecture Sequence Diagram"/>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There seems to be a operation invocation missing.
image

Comment on lines 62 to 65
-When there is an input, the Ui class will retrieve the information from the user.
-Once the Main class receives the input, it creates a new Parser class to parse the commands.
-Depends on the method, in this case add food command, main class will execute the command class(not shown)
based on the command the parser detects.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Slight markdown format bug - need to insert space between dash and the starting word

Comment on lines 168 to 171

<p align="center" width="100%">
<img width="100%" src="images/LogicSequenceDiagram.png" alt="Logic Sequence Diagram"/>
</p>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this has the same issue as above - missing method invocation.
image

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same issue.
image

Comment on lines 217 to 218
![Add Food Item Sequence Diagram](images/AddFoodItemSequenceDiagram.png)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps you can replace the alt frame with an opt frame instead? This way, you won't repeat the constructor call.

image

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure! The sequence diagram has been updated! Thanks for pointing this out :D

Comment on lines 310 to 331
#### **_dependency_**
In UML diagram, dependency is a directed relationship which is used to show that some elements or a set of elements requires,
needs or depends on other model elements for specification or implementation.
#### **_superclass_**
A class from which other classes inherit its code. The class that inherits its code will be able to access some/all
functionalities from the superclass.
#### **_subclass_**
A class that inherits code from the other classes. Such class will be able to access some/all functionalities from its superclass,
but not vice versa.
#### **_abstract class_**
A class that cannot be created using constructor. Usually such class is a superclass, and it does not give meaningful
value if one tries to construct it.
#### **_self invocation_**
In UML sequence diagram, a method that does a calling to another of its own methods is called self-invocation.
#### **_singly linked list_**
A linear data structure that behaves like an array except that the elements inside linked list is not store at a contiguous
location. In Java, linked list can be implemented using `ArrayList` in `Collection`.
#### **_priority queue_**
An abstract data type similar to a regular queue or stack data structure in which elements in priority queue are ordered
and have "priority" associated with each element. The priority can be defined by the coder. In the case of `FoodList`, the
priority will be defined as earlier date and time will have higher priority.
(more coming in the future...)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since this is a developer guide, maybe it won't be necessary to include a glossary for these technical terms?

I think this section is more for clarifying the meaning of certain potentially ambiguous terms.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK! We will consider this suggestion :) Thank you!

Comment on lines 70 to 74
### Data Component (Profile)

<p align="center" width="100%">
<img width="90%" src="images/ProfileClassDiagram.png" alt="Architecture Sequence Diagram"/>
</p>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps you can list down the objects aggregated in Profile instead? There seems to be a lot of objects, and I am not sure how a class diagram will help here.

Comment on lines 175 to 180
### Storage component

<p align="center" width="100%">
<img width="90%" src="images/StorageManagerClassDiagram.png" alt="Architecture Sequence Diagram"/>
</p>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similar to the Data component section, perhaps you could list down the interfaces StorageManager implements, etc?

@tryyang2001 tryyang2001 changed the title [CS2113-F14-2] Fitbot [CS2113T-F14-2] Fitbot Oct 29, 2021
[email protected] and others added 28 commits October 30, 2021 18:14
refactor isValid method
move getActualIndex to ItemList and implement code inheritance there
implement isValid method in Food and Exercise
Make profile even more OOP
…ect is deleted

update manual testing section (add in instructions for view and delete)
…on, changed \n to LS update userguide accordingly.

Repeat user message on invalid input to prevent raging users.
Update DG and Item Bank and Item Class Diagram
…into v2.1

# Conflicts:
#	src/test/java/seedu/duke/food/FoodListTest.java
# Conflicts:
#	src/test/java/seedu/duke/food/FoodListTest.java
* master:
  delete outdated junit test in FoodListTest
  update input code example in Add Exercise command
  add explanation for why the lifeline does not end even though the object is deleted update manual testing section (add in instructions for view and delete)
  update puml diagram add Interface to the class diagram
  Minor change to accessibility in code
  Add enum class for activity levels
  Add ProfileUtils class to make profile more OOP
  fix spacing for javaDoc in itemlist line 172 to pass check
  implement isValid method in Food and Exercise refactor isValid method move getActualIndex to ItemList and implement code inheritance there
  Update data integrity of food and exercise
  Fix formatting error in delete command
Developer guide updates to Storage and Profile
weidak and others added 30 commits November 8, 2021 22:21
Fix typo and formatting issue in DG
Update UG and fix bugs for release
add default calorieGoal if calorieGoal is not initialised
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants