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

[CS2113-F11-2] EssenMakanan #35

Open
wants to merge 718 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
718 commits
Select commit Hold shift + click to select a range
0bbba68
Implement execute recipe command
kaijie0102 Nov 10, 2023
f9b6f03
Fix checkstyle
kaijie0102 Nov 10, 2023
6d707db
Merge branch 'master' into branch-execute-recipe
kaijie0102 Nov 10, 2023
c0f6dc7
Fix merge conflicts
kaijie0102 Nov 10, 2023
2971872
Merge branch 'master' into 240-shortcut-add-ingredients
StanleyW00 Nov 10, 2023
8d6b09f
Merge pull request #249 from StanleyW00/240-shortcut-add-ingredients
StanleyW00 Nov 10, 2023
0e0b7a8
Create charkty.md
charkty Nov 11, 2023
77ec82b
Resolve merge conflicts
charkty Nov 11, 2023
ee32536
Merge pull request #247 from charkty/test
charkty Nov 11, 2023
0705fe5
Merge branch 'master' into team
charkty Nov 11, 2023
4e3efc9
Merge branch 'master' into team
charkty Nov 11, 2023
77207f2
Fix merge conflict
kaijie0102 Nov 11, 2023
877cd14
Fix merge conflict
kaijie0102 Nov 11, 2023
a2b92e4
Merge pull request #248 from kaijie0102/branch-execute-recipe
kaijie0102 Nov 11, 2023
61e5e8e
Fix merge conflicts
kaijie0102 Nov 11, 2023
f402d08
Draft 1 of charkty.md
charkty Nov 11, 2023
d70dc56
Merge pull request #239 from kaijie0102/branch-ingredient-qty-unit
StanleyW00 Nov 11, 2023
903814d
Edit recipe now works for multiple words
kaijie0102 Nov 11, 2023
a105ebd
Merge branch 'master' into branch-edit-recipe
kaijie0102 Nov 11, 2023
4469cd5
Merge branch 'master' into create-stanleyw00-ppp
StanleyW00 Nov 11, 2023
01f992c
Update logic
StanleyW00 Nov 11, 2023
76132d7
Modify quantity checker
StanleyW00 Nov 11, 2023
58db94e
Fix bug in parser
StanleyW00 Nov 11, 2023
2364d69
Add create shortcut test
StanleyW00 Nov 11, 2023
b39b65f
Update recipe storage
StanleyW00 Nov 11, 2023
15a99f1
Fix checktstyle
StanleyW00 Nov 11, 2023
a2c40ea
Edit ingredient recipe
kaijie0102 Nov 12, 2023
5df91c8
Fix checkstyle
kaijie0102 Nov 12, 2023
422a0ae
Fix test cases
kaijie0102 Nov 12, 2023
e61714e
Merge pull request #251 from StanleyW00/create-stanleyw00-ppp
kaijie0102 Nov 12, 2023
5abcb50
Add quantity check for recipe & ingredient storage
StanleyW00 Nov 12, 2023
08ceb92
Merge pull request #252 from StanleyW00/240-shortcut-add-ingredients
kaijie0102 Nov 12, 2023
fb2734e
Merge pull request #241 from Haoyuli2002/AddNewIngredientSequenceDiagram
charkty Nov 12, 2023
19e63a7
Add test cases
kaijie0102 Nov 12, 2023
99a14f2
Merge branch 'master' into branch-add-recipe
kaijie0102 Nov 12, 2023
f60181a
Modify shortcut tests
StanleyW00 Nov 12, 2023
77d1d9b
Fix merge conflict
kaijie0102 Nov 12, 2023
6b4047a
Modify edit recipe
StanleyW00 Nov 12, 2023
3b54fe8
Add edit shortcut test
StanleyW00 Nov 12, 2023
da54d62
Add edit shortcut test
StanleyW00 Nov 12, 2023
152ead6
Add delete shortcut test
StanleyW00 Nov 12, 2023
21b420e
Add use shortcut test
StanleyW00 Nov 12, 2023
6dbd99f
Add more storage tests
StanleyW00 Nov 12, 2023
3c97181
Improve readability
kaijie0102 Nov 12, 2023
4b2a112
Add duplicate exception for other storage classes
StanleyW00 Nov 12, 2023
d664c04
Add more tests for storage
StanleyW00 Nov 12, 2023
900a906
Fix checkstyle error
StanleyW00 Nov 12, 2023
c5175bd
Merge pull request #250 from kaijie0102/branch-edit-recipe
StanleyW00 Nov 12, 2023
46506a7
Merge pull request #254 from kaijie0102/branch-add-recipe
StanleyW00 Nov 12, 2023
53eed01
Modify method usage
StanleyW00 Nov 12, 2023
a8a0318
Add javadoc to worked on methods
StanleyW00 Nov 12, 2023
ef54bc4
Add javadoc to logger class
StanleyW00 Nov 12, 2023
d621def
Add recipe error handling
kaijie0102 Nov 12, 2023
090e8ea
Create javadoc for exceptions
StanleyW00 Nov 12, 2023
53850c6
Fix a javadoc in exception
StanleyW00 Nov 12, 2023
deac014
Add javadoc to main
StanleyW00 Nov 12, 2023
7e284ac
Merge pull request #256 from kaijie0102/branch-add-recipe
StanleyW00 Nov 12, 2023
95c7109
Merge pull request #255 from StanleyW00/240-shortcut-add-ingredients
kaijie0102 Nov 12, 2023
2464035
Add user guide for add,edit,execute recipe add,edit,use ingredient
kaijie0102 Nov 12, 2023
640cbe1
Merge branch 'master' into create-javadoc
StanleyW00 Nov 13, 2023
7c98155
Fix step duration bug in storage
StanleyW00 Nov 13, 2023
e5c3bc5
Update storage test
StanleyW00 Nov 13, 2023
312716f
Update PPP
charkty Nov 13, 2023
f198f0e
Create javadoc for shortcut parser
StanleyW00 Nov 13, 2023
f8fb874
Create javadoc for parser
StanleyW00 Nov 13, 2023
4536519
Create some javadoc in ingredient parser
StanleyW00 Nov 13, 2023
490a9da
Create some javadoc for recipe parser
StanleyW00 Nov 13, 2023
78aae3f
Move ingredient parser methods to command methods
charkty Nov 13, 2023
4d6876d
Create javadoc for ingredient storage
StanleyW00 Nov 13, 2023
ab4d3e5
Fix bug relating to execute recipe increasing in quantity
kaijie0102 Nov 13, 2023
952bf3f
Merge pull request #260 from StanleyW00/240-shortcut-add-ingredients
charkty Nov 13, 2023
2d69a88
Merge branch 'master' into documentation
kaijie0102 Nov 13, 2023
7c29286
Add java doc for all commands
charkty Nov 13, 2023
b34b0a0
Remove unused imports
charkty Nov 13, 2023
600d544
Change image name
kaijie0102 Nov 13, 2023
0acc634
Merge pull request #263 from kaijie0102/branch-execute-recipe
charkty Nov 13, 2023
9fdbf3c
Merge pull request #264 from charkty/javadoc
kaijie0102 Nov 13, 2023
bb0f4e0
Merge branch 'master' of https://github.com/AY2324S1-CS2113-F11-2/tp …
StanleyW00 Nov 13, 2023
16ae5db
Merge pull request #259 from kaijie0102/documentation
StanleyW00 Nov 13, 2023
f751950
Merge branch 'master' into create-javadoc
StanleyW00 Nov 13, 2023
78cc66d
Fix bug that prevents editing of ingredient
kaijie0102 Nov 13, 2023
5bf4f49
Fix formatting issues
kaijie0102 Nov 13, 2023
6ecc8da
Merge branch 'master' into documentation
kaijie0102 Nov 13, 2023
1a485ee
Add example for tagging steps
kaijie0102 Nov 13, 2023
a4996b2
Add command for view all available recipes
charkty Nov 13, 2023
a5871c9
Add example for tags for steps
kaijie0102 Nov 13, 2023
a9d698f
Add single line imports
charkty Nov 13, 2023
9e676f6
Change strip to trim
charkty Nov 13, 2023
07f9d66
Edit start message
charkty Nov 13, 2023
77fb7f6
Edit print message
charkty Nov 13, 2023
3ee5c91
Change view recipe format to make edit recipe steps easier
kaijie0102 Nov 13, 2023
e263acc
PPP for charkty
charkty Nov 13, 2023
25f8ecd
Fix test cases
kaijie0102 Nov 13, 2023
9b6aacd
Merge branch 'master' into documentation
kaijie0102 Nov 13, 2023
1aa0220
Merge pull request #268 from charkty/team
StanleyW00 Nov 13, 2023
ec6834a
Merge pull request #266 from kaijie0102/documentation
kaijie0102 Nov 13, 2023
5368134
Merge pull request #267 from charkty/available
kaijie0102 Nov 13, 2023
d6c84b8
Create javadoc for shorcut storage
StanleyW00 Nov 13, 2023
8735976
Create javadoc for recipe storage
StanleyW00 Nov 13, 2023
46b3d07
Create some javadoc on ui
StanleyW00 Nov 13, 2023
952b8ad
Create javadoc for tests
StanleyW00 Nov 13, 2023
8bc24ae
Merge pull request #269 from kaijie0102/branch-view-recipe
StanleyW00 Nov 13, 2023
f5360d7
Merge pull request #265 from kaijie0102/branch-edit-ingredient
StanleyW00 Nov 13, 2023
6df7a91
Style for puml
kaijie0102 Nov 13, 2023
6a922e2
Add class diagram for ingredient list
kaijie0102 Nov 13, 2023
fadda64
Standardise colour
kaijie0102 Nov 13, 2023
7be02a5
Update ug for shortcuts
StanleyW00 Nov 13, 2023
e83197d
Merge pull request #271 from kaijie0102/documentation
StanleyW00 Nov 13, 2023
e2953f4
Create sequence diagrams for shortcut
StanleyW00 Nov 13, 2023
4599f4a
Add parser test
charkty Nov 13, 2023
5709409
Update PPP
charkty Nov 13, 2023
b68f41a
Merge branch 'master' into team
charkty Nov 13, 2023
7e149da
Merge branch 'master' into documentation/developerGuide
charkty Nov 13, 2023
a6bfa37
Update DG for shortcut
StanleyW00 Nov 13, 2023
a5194b8
Update DG for storage
StanleyW00 Nov 13, 2023
6e7add8
RecipeList class diagram
charkty Nov 13, 2023
ba4da7d
Merge branch 'master' into update-ug-dg
StanleyW00 Nov 13, 2023
826b37b
Add class diagram for shortcut list
StanleyW00 Nov 13, 2023
7a97d58
Create shortcut object diagram
StanleyW00 Nov 13, 2023
79f8d2d
Merge branch 'master' into create-stanleyw00-ppp
StanleyW00 Nov 13, 2023
28133e7
Update ppp
StanleyW00 Nov 13, 2023
41a471b
Merge pull request #270 from StanleyW00/create-javadoc
kaijie0102 Nov 14, 2023
13a3b38
Merge pull request #272 from StanleyW00/update-ug-dg
kaijie0102 Nov 14, 2023
aecf28d
Merge pull request #273 from charkty/team
kaijie0102 Nov 14, 2023
50236bb
Update Developer Guide
charkty Nov 14, 2023
622733a
Update size of sd
charkty Nov 14, 2023
1ccaade
Resolve merge conflicts
charkty Nov 14, 2023
ec560f6
Merge pull request #274 from charkty/documentation/developerGuide
kaijie0102 Nov 14, 2023
ee8f2e5
Javadoc
kaijie0102 Nov 14, 2023
226023d
Break addValidRecipe into smaller chunk
kaijie0102 Nov 14, 2023
2b6a1b0
Update DG user story table
charkty Nov 14, 2023
ddfcc96
Merge branch 'master' into update-ug-dg
StanleyW00 Nov 14, 2023
6ac6dcd
Modify add shortcut
StanleyW00 Nov 14, 2023
cb70c1c
Update add shortcut diagram
StanleyW00 Nov 14, 2023
e54b84d
Update add shortcut diagram
StanleyW00 Nov 14, 2023
e61460b
PPP
Haoyuli2002 Nov 14, 2023
a4234c3
Merge pull request #275 from kaijie0102/documentation
StanleyW00 Nov 14, 2023
76758b5
Merge branch 'master' into update-ug-dg
StanleyW00 Nov 14, 2023
3f0252e
PPP
Haoyuli2002 Nov 14, 2023
c3231d6
Added JavaDoc
kaijie0102 Nov 14, 2023
ddb5ddf
Merge pull request #276 from StanleyW00/update-ug-dg
charkty Nov 14, 2023
f5d1579
Update developer guide text
StanleyW00 Nov 14, 2023
e804998
Merge remote-tracking branch 'upstream/master' into create-stanleyw00…
StanleyW00 Nov 14, 2023
6466230
Fix checkstyle
kaijie0102 Nov 14, 2023
bff1ca8
PPP tempalte
kaijie0102 Nov 14, 2023
0f73e29
Add Architecture diagram
charkty Nov 14, 2023
bff8dfe
Merge pull request #278 from StanleyW00/update-ug-dg
kaijie0102 Nov 14, 2023
be7b477
Merge pull request #277 from kaijie0102/documentation
charkty Nov 14, 2023
27ced68
Update about us
StanleyW00 Nov 14, 2023
751c31b
Update on ug for ppp
StanleyW00 Nov 14, 2023
270fa74
Fix grammar errors
StanleyW00 Nov 14, 2023
acfd32f
Update DG section of ppp
StanleyW00 Nov 14, 2023
2424821
Merge pull request #281 from Haoyuli2002/AddNewIngredientSequenceDiagram
StanleyW00 Nov 14, 2023
fe0b918
Merge pull request #279 from charkty/documentation/developerGuide
kaijie0102 Nov 14, 2023
5a88200
PPP for kaijie0102
kaijie0102 Nov 14, 2023
338bdeb
Fix typo in name
StanleyW00 Nov 14, 2023
8d98307
Add object diagrams for recipelist
charkty Nov 14, 2023
229775f
Update ppp
StanleyW00 Nov 14, 2023
115c81e
Merge branch 'master' into update-ug-dg
StanleyW00 Nov 14, 2023
f5ba82f
Update delete function in DG
charkty Nov 14, 2023
d065522
Remove redundant lines
charkty Nov 14, 2023
cdb455b
Change some errors in PPP
charkty Nov 14, 2023
b0f6073
Update DG for logger and storage
StanleyW00 Nov 14, 2023
546ce30
Merge pull request #280 from StanleyW00/create-stanleyw00-ppp
charkty Nov 14, 2023
d29b2f5
Merge pull request #282 from StanleyW00/update-ug-dg
StanleyW00 Nov 14, 2023
1953c95
Update about us
charkty Nov 14, 2023
8b17786
Merge pull request #283 from charkty/documentation/developerGuide
StanleyW00 Nov 14, 2023
3fc6d68
Merge pull request #284 from charkty/team
StanleyW00 Nov 14, 2023
6eddb7f
Merge branch 'master' into update-ug-dg
StanleyW00 Nov 14, 2023
887dae1
Merge branch 'master' into documentation/developerGuide
charkty Nov 14, 2023
4a011ef
Update architecture diagram
charkty Nov 14, 2023
b908c2c
Merge branch 'master' into documentation/developerGuide
charkty Nov 14, 2023
3b4d5ee
Update main page
StanleyW00 Nov 14, 2023
4972114
Format PPP
charkty Nov 14, 2023
ac0d77b
Fix about us link to ppp
StanleyW00 Nov 14, 2023
a8a3384
Merge pull request #285 from charkty/documentation/developerGuide
StanleyW00 Nov 14, 2023
b966ce8
Merge pull request #286 from StanleyW00/update-ug-dg
charkty Nov 14, 2023
928cf62
Merge pull request #287 from charkty/team
StanleyW00 Nov 14, 2023
f089e2b
Sequence diagrams
kaijie0102 Nov 14, 2023
565f0cc
Merge pull request #288 from kaijie0102/documentation
charkty Nov 14, 2023
7c562cf
Resolve table issue
charkty Nov 14, 2023
f01b39a
Update developers guide
kaijie0102 Nov 14, 2023
7034c1f
Resolve merge conflict
charkty Nov 14, 2023
35d90a3
Merge pull request #290 from kaijie0102/master
charkty Nov 14, 2023
e1d58cc
FA
kaijie0102 Nov 14, 2023
54a70f7
Update plan command
charkty Nov 14, 2023
da590c2
Merge pull request #289 from charkty/ug
kaijie0102 Nov 14, 2023
c610420
Merge branch 'master' of https://github.com/AY2324S1-CS2113-F11-2/tp
kaijie0102 Nov 14, 2023
a59f2bb
Enhance UG
charkty Nov 14, 2023
53fb303
Update DG
kaijie0102 Nov 14, 2023
0fbd0f4
Merge pull request #291 from kaijie0102/master
StanleyW00 Nov 14, 2023
ec9b091
Merge pull request #292 from charkty/ug
StanleyW00 Nov 14, 2023
483b7d6
Merge pull request #293 from kaijie0102/documentation
kaijie0102 Nov 14, 2023
6c8a717
Merge branch 'master' into update-ug-dg
StanleyW00 Nov 14, 2023
7640d22
Fix about us page
StanleyW00 Nov 14, 2023
b51d82b
Merge pull request #294 from StanleyW00/update-ug-dg
StanleyW00 Nov 14, 2023
81b975e
Fix broken link
StanleyW00 Nov 14, 2023
15646f0
Merge pull request #295 from StanleyW00/update-ug-dg
StanleyW00 Nov 14, 2023
08b26e7
Change page name for one the team members
StanleyW00 Nov 14, 2023
12431c9
Merge pull request #296 from StanleyW00/update-ug-dg
StanleyW00 Nov 14, 2023
fe3fe99
Fix logger bug
StanleyW00 Nov 14, 2023
8f02215
Update text ui test
StanleyW00 Nov 14, 2023
d5b1cb4
Update and add appendix
StanleyW00 Nov 14, 2023
b27951c
Update product scope
StanleyW00 Nov 14, 2023
e23bd87
Update user stories
StanleyW00 Nov 14, 2023
7414c57
Update glossary
StanleyW00 Nov 14, 2023
c6bb9b4
Update non functional requirements
StanleyW00 Nov 14, 2023
d3fd4e2
Add some shortcut tests
StanleyW00 Nov 14, 2023
36a6895
Move text
StanleyW00 Nov 14, 2023
87e09be
Add more tests for shortcuts
StanleyW00 Nov 14, 2023
0ce4b87
Fix edit duplicate shortcut
StanleyW00 Nov 14, 2023
44050ab
Merge pull request #301 from StanleyW00/300-edit-shortcut-duplicate
kaijie0102 Nov 14, 2023
c974e4f
Merge pull request #299 from StanleyW00/update-ug-dg
kaijie0102 Nov 14, 2023
e0f38db
Merge pull request #298 from StanleyW00/297-logger-bug
kaijie0102 Nov 14, 2023
0ca95b6
Move if condition in edit shortcut
StanleyW00 Nov 14, 2023
a7572ab
Add appendix E
kaijie0102 Nov 14, 2023
7807a14
Merge pull request #302 from StanleyW00/300-edit-shortcut-duplicate
kaijie0102 Nov 14, 2023
16e6d89
Add Instructions for manual testing
charkty Nov 14, 2023
f1b39cb
Add help and exit
kaijie0102 Nov 14, 2023
2a2367b
Merge pull request #304 from charkty/dg
kaijie0102 Nov 14, 2023
a2abcff
Merge branch 'master' of https://github.com/AY2324S1-CS2113-F11-2/tp
kaijie0102 Nov 14, 2023
da8bbb8
Merge pull request #303 from kaijie0102/master
StanleyW00 Nov 14, 2023
6112202
Merge
kaijie0102 Nov 14, 2023
8ff3dbd
Merge branch 'master' of https://github.com/AY2324S1-CS2113-F11-2/tp
kaijie0102 Nov 14, 2023
e236957
Fix number format bug for edit shortcut
StanleyW00 Nov 14, 2023
b102ad0
Formatting
kaijie0102 Nov 14, 2023
b140fab
Merge pull request #306 from StanleyW00/300-edit-shortcut-duplicate
StanleyW00 Nov 14, 2023
7dc9931
Merge pull request #305 from kaijie0102/master
charkty Nov 14, 2023
951b743
Update
charkty Nov 14, 2023
dee97a9
Update
charkty Nov 14, 2023
3054d33
Update
charkty Nov 14, 2023
eeb9b61
Update
charkty Nov 14, 2023
ea9c3bc
Merge pull request #307 from charkty/dg
kaijie0102 Nov 14, 2023
6aa5dcc
Fix broken links
kaijie0102 Nov 15, 2023
ed42063
Update bullet points
kaijie0102 Nov 15, 2023
ead47c4
Merge pull request #308 from kaijie0102/master
kaijie0102 Nov 15, 2023
b875594
Update ug
charkty Nov 15, 2023
4eb0576
Merge branch 'master' into dg
charkty Nov 15, 2023
3716954
Update dg
charkty Nov 15, 2023
d0a21ce
Merge pull request #309 from charkty/dg
kaijie0102 Nov 15, 2023
43af464
udpate dg
charkty Nov 15, 2023
da84b84
Update user story table
charkty Nov 15, 2023
c263385
Merge pull request #310 from charkty/dg
kaijie0102 Nov 15, 2023
9846ed6
reformat table
charkty Nov 15, 2023
58a59ef
Remove spaces
charkty Nov 15, 2023
07aa409
Merge pull request #311 from charkty/dg
kaijie0102 Nov 15, 2023
65cbef7
Fix numbering
charkty Nov 15, 2023
5c8c03c
Merge pull request #312 from charkty/dg
kaijie0102 Nov 15, 2023
1daf1ce
Fix numbering
charkty Nov 15, 2023
6a76eeb
Merge pull request #313 from charkty/dg
kaijie0102 Nov 15, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,4 @@ bin/

/text-ui-test/ACTUAL.TXT
text-ui-test/EXPECTED-UNIX.TXT
META-INF/MANIFEST.MF
5 changes: 3 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,11 @@ test {
}

application {
mainClass.set("seedu.duke.Duke")
mainClass.set("essenmakanan.EssenMakanan")
}

shadowJar {
archiveBaseName.set("duke")
archiveBaseName.set("essenMakanan")
archiveClassifier.set("")
}

Expand All @@ -43,4 +43,5 @@ checkstyle {

run{
standardInput = System.in
enableAssertions = true
}
246 changes: 240 additions & 6 deletions docs/DeveloperGuide.md

Choose a reason for hiding this comment

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

There can possibly be use of different types of UML diagrams instead of just one type.

Copy link

Choose a reason for hiding this comment

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

methods in class diagrams also have many attributes and methods, maybe can remove irrelevant methods/attributes to improve readability

Original file line number Diff line number Diff line change
@@ -1,11 +1,233 @@
---

Choose a reason for hiding this comment

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

Maybe the use of short code snippets in the DG would be good for users to improve their understanding.

layout: default
title: Developer Guide
---
* Table of Contents
{:toc}

--------------------------------------------------------------------------------------------------------------------

# Developer Guide

## Acknowledgements

{list here sources of all reused/adapted ideas, code, documentation, and third-party libraries -- include links to the original source as well}

References
1. Developer Guide: https://se-education.org/addressbook-level3/DeveloperGuide.html
2. User Guide: https://se-education.org/addressbook-level3/UserGuide.html
3.

Choose a reason for hiding this comment

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

Perhaps could remove point 3.


## Design & implementation

## Design

### Architecture

<img src="images/ArchitectureDiagram.png" width="280" />

Choose a reason for hiding this comment

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

The architecture diagram hyperlink does not seem to work

Choose a reason for hiding this comment

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

Unable to see image of the architecture diagram

Choose a reason for hiding this comment

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

Perhaps the link doesn't work?
image


The ***Architecture Diagram*** given above explains the high-level design of the App.

Given below is a quick overview of main components and how they interact with each other.

Choose a reason for hiding this comment

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

Perhaps a sequence diagram could show how all the components interact with each other?


**Main components of the architecture**

### UI component

### Logic component

### Model component

### Storage component

In this application, it uses text files to store all data, i.e, recipes and ingredients.


When booting up the application, `restoreSavedData` will be called to get both recipes and ingredients
from the previous session.

<img src="images/RestoreIngredientStorageSequenceDiagram.png" width="347" />
<img src="images/RestoreRecipeStorageSequenceDiagram.png" width="347" />

When a user exits the application, `saveData` will be called and it will convert all data from recipes and
ingredients into a string which will be put in their own respective text files.

<img src="images/StoreIngredientStorageSequenceDiagram.png" width="525" />
<img src="images/StoreRecipeStorageSequenceDiagram.png" width="706" />


## Implementation
### Help Feature
The help feature is facilitated by the `HelpCommand` class. By calling `executeCommand` on the class, it will invoke the `Ui` class to print the user help commands.


- **Step 1**

Input will be sent from the main `EssenMakanan` class to the `Parser` to identify the command type


- **Step 2**

A new `HelpCommand` object will be created and will be sent back to main


- **Step 3**

`commandObject#executeCommand()` will be called which in turn calls `Ui#showCommands()`


- **Step 4**

Finally `Ui#showCommands()` will call `Ui#showRecipeCommands()`, `Ui#showIngredientCommands()`, `Ui#showOtherCommands()` to print all commands for recipe, ingredient and others respectively
Comment on lines +127 to +144

Choose a reason for hiding this comment

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

I like how you described the command step by step 👍



<img src="images/HelpFunctionSequenceDiagram.png" width="732" />

Choose a reason for hiding this comment

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

Perhaps the command constructor could end here?
image


### Exit feature
The help feature is facilitated by the `ExitCommand` class. By calling `executeCommand` on the class, it will invoke the `Ui` class to print the exit command.

- **Step 1**

Input will be sent from the main `EssenMakanan` class to the `Parser` to identify the command type


- **Step 2**

A new `ExitCommand` object will be created and will be sent back to main


- **Step 3**

`commandObject#executeCommand()` will be called which in turn calls `Ui#showCommands()`


- **Step 4**

Finally `Ui#showCommands()` will print the exit message


<img src="images/ExitSequenceDiagram.png" width="571" />


### Add Recipe feature

The add recipe feature is facilitated by the `AddRecipeCommand` class. By calling `executeCommand` on the class, the steps will
be executed as follows:
- **Step1**

`AddRecipeCommand` will parse the recipe title using `RecipeParser`. Then, it will return the recipe title.


- **Step2**

`AddRecipeCommand` will create a new `Recipe` with the obtained title.


- **Step3**

`AddRecipeCommand` will add newly created `Recipe` into `RecipeList`. Then, the recipe will be added into an
`ArrayList` inside `RecipeList`.


- **Step4**

`AddRecipeCommand` will call `Ui` class to print out the title of the recently added recipe.
Comment on lines +179 to +197

Choose a reason for hiding this comment

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

Maybe for the addRecipeCommand, you can consider explaining how the title parsing and RecipeList work in more detail. Provide a step-by-step breakdown of the process, including the role of RecipeParser and RecipeList.


<img src="images/AddNewRecipeSequenceDiagram.png" width="963" />

### View Ingredients feature
The view ingredient feature is facilitated by the `ViewIngredientCommand` class. Users can input
"view i" to trigger this command. Users will then be able to see all ingredients stored.
Example:

`1. bread: 2pcs`

`2. apple: 500g`

`...`

- **Step 1**

Input will be sent from the main `EssenMakanan` class to the `Parser` to identify the command type.


- **Step 2**

A new `ViewIngredientCommand` object will be created and will be sent back to main


- **Step 3**

`commandObject#executeCommand()` will be called which in turn calls `Ui#printAllIngredients()`


- **Step 4**

Finally `Ui#printAllIngredients()` will call `IngredientList#listIngredients()` to print all the ingredients
to standard output


<img src="images/ViewAllIngredientSequenceDiagram.png" width="967" />

### View Recipes feature
The view recipes feature is facilitated by the `ViewRecipeCommand` class. Users can input
"view r" to trigger this command

* **Step 1**

Input will be sent from the main `EssenMakanan` class to the `Parser` to identify the command type.

* **Step 2**

A new `ViewRecipeCommand` object will be created and will be sent back to main

* **Step 3**

`commandObject#executeCommand()` will be called which in turn calls `Ui#printAllRecipes()`

* **Step 4**

Finally, `RecipeList#listRecipeTitles()` will be called to print all the ingredients
to standard output

<img src="images/ViewAllRecipeSequenceDiagram.png" width="862" />

### Add Ingredient feature

The add Ingredient feature is used by a `AddIngredientCommand` class.
Multiple ingredients can be added at the same time using the syntax
`add i/NAME,QUANTITY,UNIT i/INGREDIENT2,.. i/INGREDIENT3...`

By calling `executeCommand` on the class, the steps will
be executed as follows:
* **Step1**

`AddIngredientCommand` will use the "split" method of `String` to get an array of the descriptions of ingredients
and iterate all the elements in this array


* **Step2**

`AddIngredientCommand` will get a new `Ingredient` by invoking the method "parseIngredient" of `IngredientParser`
for each element of the obtained array


* **Step3**

`AddIngredientCommand` will add this `Ingredient` into `IngredientList`. Then, the ingredient will be added into an
`ArrayList` inside `IngredientList`.


* **Step4**

`AddIngredientCommand` will call `Ui` class to print out the name of the recently added ingredient.

<img src="images/AddNewIngredientSequenceDiagram.png" width="1676" />


### Delete feature


{Describe the design and implementation of the product. Use UML diagrams and short code snippets where applicable.}


Expand All @@ -14,25 +236,37 @@

{Describe the target user profile}

This product is for people who share kitchen space and ingredients with other cooks.

Choose a reason for hiding this comment

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

The target user profile could be more descriptive.



### Value proposition

{Describe the value proposition: what problem does it solve?}

Easy and intuitive way to keep track of ingredients you have in your kitchen. This helps avoid buying duplicated ingredients, reminds you of the ingredients you need, and gives a visualisation of the recipe timeline to ensure that advance preparation is done in time, eg marinating.


## 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 | beginner user | see all recipes | learn and try all recipes |
| v1.0 | beginner user | add new recipes into the list | learn and try out new recipes |
| v1.0 | beginner user | see all ingredient I have | |
| v1.0 | beginner user | add ingredients to the empty list | add an item to my kitchen inventory |
| v2.0a | amateur | delete some recipes | remove a recipe that I no longer want to use |

Choose a reason for hiding this comment

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

Perhaps could add more user stories for later versions


## Non-Functional Requirements

Choose a reason for hiding this comment

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

Maybe you can include a section or subsection on error handling to make the user understand. Explain how errors or exceptional cases are handled in the application. This can include user input validation, error messages, and how developers can handle exceptions in their code.


{Give non-functional requirements}
1. Should work on any mainstream OS as long as it has Java 11 or above installed.
2. Should be able to hold up to 1000 recipes and ingredients without a noticeable sluggishness in performance for typical usage.
3. A user with above average typing speed for regular English text (i.e. not code, not system admin commands) should be able to accomplish most of the tasks faster using commands than using the mouse.

## Glossary

* *glossary item* - Definition
- Mainstream OS: Windows, Linux, Unix, OS-X

## Instructions for manual testing

## 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}
Loading