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

[CS2103-F10-2] iFridge #90

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

Conversation

kelvinnharris
Copy link

@kelvinnharris kelvinnharris changed the title [CS2103-F10-2] Food Orchestra [CS2103-F10-2] iFridge Oct 3, 2019

|`* * *` |careless user |edit and delete items in shopping list |change details of or remove grocery items

|`* * *` |user |add <<template,templates>> of grocery items |to keep track of what I want to have in my fridge
Copy link

Choose a reason for hiding this comment

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

Good! Very reader friendly for developers to understand the terms.

@@ -295,35 +297,127 @@ Priorities: High (must have) - `* * \*`, Medium (nice to have) - `* \*`, Low (un
[width="59%",cols="22%,<23%,<25%,<30%",options="header",]
|=======================================================================
|Priority |As a ... |I want to ... |So that I can...
|`* * *` |new user |see usage instructions |refer to instructions when I forget how to use the App
|`* * *` |organized user |add items to shopping list |decide the grocery items that I need to purchase later
Copy link

Choose a reason for hiding this comment

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

You could consider scoping the users to be more specific.


|`* * *` |environmentally-conscious user |get feedback on how I am performing on my food waste management |improve my food waste management

|`* *` |environmentally-conscious user |see which kinds of food I most commonly waste |cut down on unnecessary food waste
Copy link

Choose a reason for hiding this comment

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

Can consider listing from most important requirements before moving to less important requirements


|`* * *` |user |view all groceries |know what to buy more of

|`* * *` |user |remove a grocery |maintain only usable items in the fridge

|`*` |user with many persons in the address book |sort persons by name |locate a person easily
Copy link

Choose a reason for hiding this comment

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

Is this target user correct?


[discrete]
=== Use case: Delete person
=== Use case: Add food item
Copy link

Choose a reason for hiding this comment

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

It is recommended to label the use case as UCXX.

[none]
* 2a. The list is empty.
+
Use case ends.
Copy link

Choose a reason for hiding this comment

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

Should iFridge show that the list is empty and continue the use case at step 3?

2. AddressBook shows a list of persons
3. User requests to delete a specific person in the list
4. AddressBook deletes the person
1. User requests to list all food items
Copy link

Choose a reason for hiding this comment

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

It might not be necessary to list all food items to add a new food item.

1. User requests to list grocery items
2. GroceryList shows a list of grocery items
3. User requests to delete a specific grocery item in the list
4. GroceryList deletes the person
Copy link

Choose a reason for hiding this comment

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

Typo

+
Use case ends.
[none]
** 3a1. iFridge shows an error message.
Copy link

Choose a reason for hiding this comment

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

Extra line here


The following sequence diagram shows how the edit template item operation works for the logic component:

image::EditTemplateItemSequenceDiagram2.png[]

Choose a reason for hiding this comment

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

The diagram is similar to the previous diagrams. May be consider omitting some details and do a generalised one?

=== Edit Template Item feature
The edit template item mechanism is facilitated by `UniqueTemplateItems`, `TemplateList` and `TemplateToBeShown`.

The `TemplateList` is an observable list of `UniqueTemplateItems` while the UniqueTemplateItems contains an observable list

Choose a reason for hiding this comment

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

It might be better to quote UniqueTemplateItems as UniqueTemplateItems.


To edit the individual templates stored in the `TemplateList`, the command retrieves the template as well as the item to be edited.
Retrieving the existing item allows for retrieval of unchanged data field. The template item at the specified index will then be
overwritten with a new edited TemplateItem.

Choose a reason for hiding this comment

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

It might be better to quote TemplateItem as TemplateItem.


image::WasteReportSequenceDiagram.png[]

image::WasteReportSequenceDiagramRef.png[]

Choose a reason for hiding this comment

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

"Generating waste report" should be inside the sd tag.

Aspect: How edit command is parsed

* Alternative 1 (current choice): Create a separate parser just for template item management
* Pros: Easy to implement. Parser structure follows the same structure as the model. More OOP.

Choose a reason for hiding this comment

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

The bullet points can be better aligned.

  • Alternative 1
    • Pros
    • Cons

* Cons: Not as obvious to the user that both commands involve the same template list.


The following sequence diagram shows how the edit template item operation works for the logic component:

Choose a reason for hiding this comment

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

Extra line here?


The following sequence diagram shows how the edit template item operation works for the logic component:

image::EditTemplateItemSequenceDiagram2.png[]

Choose a reason for hiding this comment

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

Should use result:CommandResult instead because result is passed back to LogicManager.

ManasVegi and others added 30 commits November 11, 2019 22:45
Fix Shopping Items in SampleDataUtil
Add updateMapWithBoughtItems method
Correct the name of portfolio page for ManasVegi
Fix the link of PPP for ManasVegi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants