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-T11-3] Florizz #29

Open
wants to merge 377 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 204 commits
Commits
Show all changes
377 commits
Select commit Hold shift + click to select a range
fee78ea
no message
JeffinsonDarmawan Mar 29, 2024
5d5f2eb
found out DBMS is not allowed for tp. Moved code to unused
IanFH Mar 29, 2024
a3be983
no message
JeffinsonDarmawan Mar 29, 2024
aeb552d
Merge branch 'master' into fuzzy-logic
JeffinsonDarmawan Mar 29, 2024
efb2b23
Merge pull request #71 from JeffinsonDarmawan/fuzzy-logic
IanFH Mar 29, 2024
18235e4
Made storage puml
IanFH Mar 29, 2024
8581d68
Modified Developer Guide Appendix
IanFH Mar 29, 2024
9d5a550
Add style file for UML
Ijaaz01 Mar 29, 2024
7c4f6fc
Merge pull request #73 from Ijaaz01/MohamedIjaaz-UML
samuelory Mar 29, 2024
8e35626
Merge pull request #72 from IanFH/ian-developer-guide
Ijaaz01 Mar 29, 2024
9fc1248
Solve IO redirection test
JeffinsonDarmawan Mar 29, 2024
6e1c302
Fix text ui testing
Ijaaz01 Mar 29, 2024
cfbdff5
Merge pull request #75 from Ijaaz01/MohamedIjaaz-UML
IanFH Mar 29, 2024
847e593
Merge branch 'master' of https://github.com/AY2324S2-CS2113-T11-3/tp
JeffinsonDarmawan Mar 29, 2024
936d400
no message
JeffinsonDarmawan Mar 29, 2024
3189fde
UML-Diagrams
JeffinsonDarmawan Mar 29, 2024
8ef4179
Edit Fuzzy Logic
JeffinsonDarmawan Mar 29, 2024
6c5fa7c
input expected
JeffinsonDarmawan Mar 29, 2024
52d826a
input expected
JeffinsonDarmawan Mar 29, 2024
49a3ed9
expected
JeffinsonDarmawan Mar 29, 2024
28bbf24
input expected
JeffinsonDarmawan Mar 29, 2024
51f8a3d
Merge remote-tracking branch 'upstream/JeffinsonDarmawan-patch-1' int…
samuelory Mar 29, 2024
a369d85
expected
JeffinsonDarmawan Mar 29, 2024
e97ddf4
input expected
JeffinsonDarmawan Mar 29, 2024
9ddbde1
Added Info Command Developer Guide and UML Diagram
IanFH Mar 29, 2024
9efb1c8
Fix test
IanFH Mar 29, 2024
699c9c0
Rectified Ui UML
JeffinsonDarmawan Mar 29, 2024
3357206
no message
JeffinsonDarmawan Mar 29, 2024
ddf9253
Merge pull request #78 from IanFH/ian-developer-guide-2
Ijaaz01 Mar 29, 2024
d7ac4aa
Added Samuel's portion of DG
samuelory Mar 29, 2024
122ba84
Merge branch 'master' into Jeffinson-UML
samuelory Mar 29, 2024
45d4501
Merge pull request #76 from JeffinsonDarmawan/Jeffinson-UML
samuelory Mar 29, 2024
a839c58
Merge branch 'master' into SamuelUML
samuelory Mar 29, 2024
34679b0
Developer Guide and UML Diagram
JeffinsonDarmawan Mar 29, 2024
8022308
Add develoepr guide for add flower command
Ijaaz01 Mar 29, 2024
5d0e16d
fixed checkstylemain
samuelory Mar 29, 2024
033f315
Merge branch 'SamuelUML' of https://github.com/samuelory/tp into Samu…
samuelory Mar 29, 2024
8edb617
Fixed IO redirection
samuelory Mar 29, 2024
a0c1005
Merge pull request #79 from samuelory/SamuelUML
Ijaaz01 Mar 29, 2024
9fd0204
Merge branch 'master' of https://github.com/AY2324S2-CS2113-T11-3/tp …
Ijaaz01 Mar 29, 2024
b61fd24
Fix io test issue
Ijaaz01 Mar 29, 2024
db806d4
Merge pull request #80 from Ijaaz01/MohamedIjaaz-DG
Ijaaz01 Mar 29, 2024
a2e490b
Fix bug with file path for some photos
Ijaaz01 Mar 29, 2024
1d35566
Merge pull request #81 from Ijaaz01/MohamedIjaaz-DG
Ijaaz01 Mar 29, 2024
c1105a8
UML
JeffinsonDarmawan Mar 29, 2024
f24a493
Delete log
JeffinsonDarmawan Mar 29, 2024
d9bff58
Modified DG
JeffinsonDarmawan Mar 29, 2024
e0596dc
Merge branch 'Jeffinson-UML' of https://github.com/JeffinsonDarmawan/…
JeffinsonDarmawan Mar 29, 2024
d3de93b
Developer Guide
JeffinsonDarmawan Mar 29, 2024
e69bd2f
Merge branch 'master' into Jeffinson-UML
JeffinsonDarmawan Mar 29, 2024
f1f6f24
Merge branch 'master' of https://github.com/AY2324S2-CS2113-T11-3/tp …
JeffinsonDarmawan Mar 29, 2024
f8dca7e
Merge pull request #82 from JeffinsonDarmawan/Jeffinson-UML
samuelory Mar 29, 2024
16d6f14
Merge pull request #83 from JeffinsonDarmawan/fuzzy-logic
samuelory Mar 29, 2024
96dd298
Add more valid items to Fuzzy Logic
JeffinsonDarmawan Mar 29, 2024
9d992aa
Merge pull request #84 from JeffinsonDarmawan/Fuzzy-Logic-2
samuelory Mar 29, 2024
6e74721
Add Damerau-Levenshtein distance and fixed a bug on parser
JeffinsonDarmawan Mar 30, 2024
ca1c508
Fixed minor bug
JeffinsonDarmawan Apr 1, 2024
5dd5baf
Merge pull request #87 from JeffinsonDarmawan/Fuzzy-Logic-2
Ijaaz01 Apr 2, 2024
3b41c21
Fix a bug on parser
JeffinsonDarmawan Apr 2, 2024
a426e28
Merge pull request #88 from JeffinsonDarmawan/bug-fix-1
samuelory Apr 2, 2024
c7e6452
Abstracted flower info to have a filter method in FlowerDictionary an…
samuelory Apr 2, 2024
d9b3899
fixed typo in flower does not exist exception
samuelory Apr 2, 2024
1df428d
Added Dark Crimson Rose to test info command
samuelory Apr 2, 2024
2f8b264
Updated formatting of info command
samuelory Apr 2, 2024
5203d5d
fixed checkstylemain
samuelory Apr 2, 2024
d4abf15
Add storage class
Ijaaz01 Apr 2, 2024
ae9d470
Merge pull request #89 from samuelory/Samuel-V2.1
Ijaaz01 Apr 2, 2024
a71ce66
Merge pull request #90 from Ijaaz01/MohamedIjaaz-Storage
IanFH Apr 2, 2024
15ff815
Amended Ijaaz to be authoer of printflowerinfo
samuelory Apr 2, 2024
31d4e70
Added separate pages for flowers and flower info
samuelory Apr 3, 2024
56ab34c
Increased page size to 5
samuelory Apr 3, 2024
fc16ba9
Decreased similarity threshold for FuzzyLogic
samuelory Apr 3, 2024
e0077a0
Add functionality to recover saved bouquets
Ijaaz01 Apr 3, 2024
c062a9a
Merge pull request #93 from samuelory/Samuel-V2.1
Ijaaz01 Apr 3, 2024
3763d69
Merge pull request #92 from IanFH/database-1
Ijaaz01 Apr 3, 2024
86bc983
Merge branch 'master' into MohamedIjaaz-Storage
Ijaaz01 Apr 3, 2024
3e9961c
Merge pull request #94 from Ijaaz01/MohamedIjaaz-Storage
Ijaaz01 Apr 3, 2024
270117b
Fixed SEVERE logger
IanFH Apr 3, 2024
ca80351
Add save command
Ijaaz01 Apr 3, 2024
df73d2a
Fix io test expected output
Ijaaz01 Apr 3, 2024
82355d8
Update gitignore
Ijaaz01 Apr 3, 2024
4cf7eb7
Update userguide
Ijaaz01 Apr 3, 2024
9661be0
Add javadoc for printsavesuccess function
Ijaaz01 Apr 3, 2024
3defca4
Merge pull request #95 from Ijaaz01/MohamedIjaaz-Save
Ijaaz01 Apr 3, 2024
7a73fe7
no message
JeffinsonDarmawan Apr 3, 2024
c8005d4
Merge branch 'master' of https://github.com/AY2324S2-CS2113-T11-3/tp
JeffinsonDarmawan Apr 3, 2024
de5031b
Implemented recommend flowers command, without filler flowers
IanFH Apr 3, 2024
7abddb2
Removed duplicate colours for recommend command. Updated UG for recom…
IanFH Apr 3, 2024
294383a
Merge branch 'master' into bouquet-recommendation
IanFH Apr 3, 2024
2c227e3
Update Ui.java
IanFH Apr 3, 2024
aedc8c7
Fix merging syntax issues
IanFH Apr 3, 2024
4dc8165
Fixed checkstyle
IanFH Apr 3, 2024
d06c37c
Merge pull request #97 from IanFH/bouquet-recommendation
IanFH Apr 3, 2024
f3bcf72
Merge branch 'master' of https://github.com/AY2324S2-CS2113-T11-3/tp
JeffinsonDarmawan Apr 3, 2024
f317c46
Updated flowers and info command in UserGuide.md
samuelory Apr 3, 2024
aa7f464
Update user guide
Ijaaz01 Apr 3, 2024
e6bab99
Merge pull request #99 from AY2324S2-CS2113-T11-3/Samuel-V2.2
samuelory Apr 3, 2024
ddb7275
Merge pull request #100 from Ijaaz01/MohamedIjaaz-UG
Ijaaz01 Apr 3, 2024
c5c8949
Fix format for command titles
Ijaaz01 Apr 3, 2024
2eb4552
Merge branch 'master' into MohamedIjaaz-UG
Ijaaz01 Apr 3, 2024
2b3dccb
Merge pull request #101 from Ijaaz01/MohamedIjaaz-UG
samuelory Apr 3, 2024
3198abe
Fixed unhandled exception in add and remove
samuelory Apr 3, 2024
d76a8fd
Touch up
IanFH Apr 3, 2024
9119497
Merge pull request #105 from samuelory/Samuel-V2.2
samuelory Apr 3, 2024
55157b0
Merge pull request #104 from IanFH/touch-up-ms2
IanFH Apr 3, 2024
c1c02ea
User Guide
JeffinsonDarmawan Apr 3, 2024
7410a08
Testing page breaks for user guide
Ijaaz01 Apr 3, 2024
f19cd55
Merge pull request #107 from AY2324S2-CS2113-T11-3/Ijaaz01-pageBreak
Ijaaz01 Apr 3, 2024
590877f
Merge branch 'master' into userguide
JeffinsonDarmawan Apr 3, 2024
6a497bb
Merge pull request #106 from JeffinsonDarmawan/userguide
JeffinsonDarmawan Apr 3, 2024
522140f
iotest
JeffinsonDarmawan Apr 3, 2024
182f21e
fix expected.txt
JeffinsonDarmawan Apr 3, 2024
c1c29c5
fix expected.txt
JeffinsonDarmawan Apr 3, 2024
ec34185
fix actual and expected
JeffinsonDarmawan Apr 3, 2024
52c6b48
fix fullstop
JeffinsonDarmawan Apr 3, 2024
efed9d0
Merge pull request #108 from JeffinsonDarmawan/iotest
IanFH Apr 3, 2024
8b0447c
Fixed 0x Flower
JeffinsonDarmawan Apr 3, 2024
b6019bd
Fixed 0x flower
JeffinsonDarmawan Apr 3, 2024
affab09
Merge pull request #110 from JeffinsonDarmawan/Fix-bug-0quantityFlower
IanFH Apr 3, 2024
4cd873a
Changed Ui
JeffinsonDarmawan Apr 5, 2024
844c0a4
Fix Review PE-D
JeffinsonDarmawan Apr 7, 2024
09aaf7b
Fix Review
JeffinsonDarmawan Apr 8, 2024
2dcc86d
Bye Ui
JeffinsonDarmawan Apr 8, 2024
89d6e6f
Change recommendCommand to no longer kick out user if bad input is given
Ijaaz01 Apr 8, 2024
cf5874e
Merge pull request #113 from JeffinsonDarmawan/bug-fix
samuelory Apr 8, 2024
487447e
Merge pull request #153 from JeffinsonDarmawan/Fix-Review-1
samuelory Apr 8, 2024
fe1c5fd
Merge pull request #154 from Ijaaz01/MohamedIjaaz-recommend
samuelory Apr 8, 2024
3cbfbc3
Fixed exceptions for backpage and removed trimmedInput from commandHa…
samuelory Apr 8, 2024
1172e82
Added colour option to add command
samuelory Apr 8, 2024
1566961
Fuzzy Logic Improvement
JeffinsonDarmawan Apr 8, 2024
66c278c
Add cancel option to exit recommend
Ijaaz01 Apr 9, 2024
a422521
Re-add assertion
Ijaaz01 Apr 9, 2024
15198b0
Added colour option to remove command
samuelory Apr 9, 2024
0afbf63
Uncomment code in parser
Ijaaz01 Apr 9, 2024
4fe40a2
Fix bug related to info command not working properly
Ijaaz01 Apr 9, 2024
06de178
attempt to fix io redirection
samuelory Apr 9, 2024
8e781b5
reverted io test to help and bye
samuelory Apr 9, 2024
02b58c6
added new bouquet to io test
samuelory Apr 9, 2024
00e0407
added adding flower to io test
samuelory Apr 9, 2024
9e191e9
added adding flower part 2 to io test
samuelory Apr 9, 2024
a547efd
added removing flowers to io test
samuelory Apr 9, 2024
cf19688
Merge pull request #156 from samuelory/Samuel-V2.3
samuelory Apr 9, 2024
930b2ab
Merge pull request #155 from Ijaaz01/MohamedIjaaz-recommend
samuelory Apr 9, 2024
687224f
Merge pull request #157 from Ijaaz01/MohamedIjaaz-infoFix
samuelory Apr 9, 2024
b224e0f
Made showing flowers clearer so users wont input colour + name and ex…
samuelory Apr 9, 2024
56a762b
Fixed IO redirection test
samuelory Apr 9, 2024
3554131
caught numberFormatException
samuelory Apr 9, 2024
38b88b0
reverted io test back to help and bye
samuelory Apr 9, 2024
f75189c
redid io test to test more conditions
samuelory Apr 9, 2024
e31bfc3
reduced io testing
samuelory Apr 9, 2024
2b3bd20
Merge pull request #158 from samuelory/Samuel-V2.4
Ijaaz01 Apr 9, 2024
7c504d9
Added Samuel PPP
samuelory Apr 9, 2024
bc23e3d
fuzzy logic enhancement
JeffinsonDarmawan Apr 9, 2024
69cfba7
Added flowers to flowerDictionary and fixed filler info bug
samuelory Apr 10, 2024
138e26c
Fixed add and remove command to accept flower names with a space inside
samuelory Apr 10, 2024
2b58cdb
Made calculating levenshtein distance not care about case
samuelory Apr 10, 2024
5f700a9
Adjusted flowername to be printed in addflowersuccess and removeflowe…
samuelory Apr 10, 2024
3509042
Merge pull request #159 from samuelory/Samuel-V2.4
samuelory Apr 10, 2024
728ff40
Mild adjustment to DG
samuelory Apr 10, 2024
c9cd9d1
Merge pull request #161 from samuelory/Samuel-V2.4
JeffinsonDarmawan Apr 10, 2024
af18aa4
Improvements on Fuzzy Logic
JeffinsonDarmawan Apr 10, 2024
0829906
Merge branch 'master' into fuzzylogic-enhancement
JeffinsonDarmawan Apr 10, 2024
7bce708
io redirection
JeffinsonDarmawan Apr 10, 2024
3156964
Merging Conflict
JeffinsonDarmawan Apr 10, 2024
15f07e5
Debug
JeffinsonDarmawan Apr 10, 2024
d81b239
Merge pull request #1 from JeffinsonDarmawan/fuzzylogic-enhancement
JeffinsonDarmawan Apr 10, 2024
bb505b8
Merging Conflict
JeffinsonDarmawan Apr 10, 2024
e1ae51f
Merge branch 'master' into fuzzylogic-enhancement
JeffinsonDarmawan Apr 10, 2024
de448a8
Update ppp
Ijaaz01 Apr 10, 2024
4d3c12b
Merge pull request #162 from JeffinsonDarmawan/fuzzylogic-enhancement
Ijaaz01 Apr 10, 2024
54b5937
Merge pull request #164 from Ijaaz01/MohamedIjaaz-PPP
JeffinsonDarmawan Apr 10, 2024
09079e3
Renamed PPP drafts
samuelory Apr 11, 2024
f6adb3e
Rename JeffinsonDawarman.md to JeffinsonDarmawan.md
JeffinsonDarmawan Apr 11, 2024
7f76565
PE-D bug fixes
JeffinsonDarmawan Apr 11, 2024
8ea63ca
Merge pull request #165 from samuelory/Samuel-V2.5
Ijaaz01 Apr 11, 2024
3ba51d6
Merge pull request #166 from JeffinsonDarmawan/PE-D-bug-fix
JeffinsonDarmawan Apr 11, 2024
d3ce3e5
PPP
JeffinsonDarmawan Apr 11, 2024
a5613a7
Updated UML diagram based on TA suggestion for add flower and info co…
IanFH Apr 11, 2024
bc56fb2
More PPP
JeffinsonDarmawan Apr 11, 2024
75b11d7
Type `help`, to view a list of valid commands!
JeffinsonDarmawan Apr 11, 2024
b0aff65
io redirection
JeffinsonDarmawan Apr 11, 2024
e2fd3de
Merge pull request #168 from JeffinsonDarmawan/Jeff-PPP
JeffinsonDarmawan Apr 11, 2024
94c789f
draft for ppp
IanFH Apr 11, 2024
c17090b
Merge pull request #169 from IanFH/bug-fixes
IanFH Apr 11, 2024
8a6b893
Small Edit on PPP
JeffinsonDarmawan Apr 12, 2024
56f3d50
Update aboutus.md file with proper portfolio paths
Ijaaz01 Apr 12, 2024
f322f19
JUnit Tests
JeffinsonDarmawan Apr 12, 2024
6a503d3
Compute DL Distance Test
JeffinsonDarmawan Apr 12, 2024
35e8dac
Rename ppp to lower case
Ijaaz01 Apr 12, 2024
9120a94
Merge pull request #170 from Ijaaz01/MohmamedIjaaz-PPPupdate
IanFH Apr 12, 2024
f2f3227
JUnit Test
JeffinsonDarmawan Apr 12, 2024
7559236
Additional Java Doc Comments
JeffinsonDarmawan Apr 12, 2024
ab5e538
Delete NextCommandJava
JeffinsonDarmawan Apr 12, 2024
ae26401
Update PPP
JeffinsonDarmawan Apr 12, 2024
0b8d894
PPP
JeffinsonDarmawan Apr 12, 2024
e6c5fff
LowerCase md files
JeffinsonDarmawan Apr 12, 2024
c7da4a5
Merge branch 'master' into Test-Code
JeffinsonDarmawan Apr 12, 2024
3db412a
Update Bouquet.java
JeffinsonDarmawan Apr 12, 2024
a350bac
Merge pull request #171 from JeffinsonDarmawan/Test-Code
Ijaaz01 Apr 14, 2024
8fa7cb1
Implemented size selection for recommend command
IanFH Apr 14, 2024
3fc60d5
Caught NoSuchElementException and IllegalStateException
samuelory Apr 14, 2024
37be645
Merge pull request #172 from samuelory/Samuel-v2.6
JeffinsonDarmawan Apr 14, 2024
c16de10
build gradle
JeffinsonDarmawan Apr 14, 2024
b419e79
Add test code for FlowerDictionary
IanFH Apr 14, 2024
a7e65bb
Ascii Table
JeffinsonDarmawan Apr 14, 2024
e266939
Compare Feature
JeffinsonDarmawan Apr 14, 2024
d204876
ASCII Table & User Guide Update & PPP Update
JeffinsonDarmawan Apr 14, 2024
208a704
Compare Command Test
JeffinsonDarmawan Apr 14, 2024
c663e8c
IO Redirection
JeffinsonDarmawan Apr 14, 2024
cd9601b
IO Redirection
JeffinsonDarmawan Apr 14, 2024
8017ee2
IO Redirection 3
JeffinsonDarmawan Apr 14, 2024
6a7deff
Exception for incorrect formatting and modification to toString() met…
JeffinsonDarmawan Apr 15, 2024
928220a
Added tests for `RecommendCommand` and `Bouquet`. Added `totalNumberO…
IanFH Apr 15, 2024
f21a2a0
Merge pull request #173 from JeffinsonDarmawan/table-format
samuelory Apr 15, 2024
ddd2963
Modified ui breakpoint to make it nicer
IanFH Apr 15, 2024
3e1def7
Adjusted max width of help table and updated userguide expected outputs
samuelory Apr 15, 2024
46998d2
checkstylemain
samuelory Apr 15, 2024
2dc6a5f
Fixed bug on `recommendCommand` class `askOccasion` method. Removed F…
IanFH Apr 15, 2024
8610744
Merge branch 'master' into bug-fixes-2
IanFH Apr 15, 2024
b15cda8
Update Flower.java
IanFH Apr 15, 2024
4da42be
Fixed checkStyle
IanFH Apr 15, 2024
f859bbc
Merge pull request #174 from samuelory/Samuel-V2.7
samuelory Apr 15, 2024
eb9e5bb
Merge pull request #175 from IanFH/bug-fixes-2
JeffinsonDarmawan Apr 15, 2024
98644b1
made adding/removing to bouquet non case-sensitive
samuelory Apr 15, 2024
d48a15a
Updated UG
samuelory Apr 15, 2024
6573068
Merge pull request #176 from samuelory/samuel-v2.8
samuelory Apr 15, 2024
c0f9eb4
Updated PPP
samuelory Apr 15, 2024
876a7cc
Fixed PPP links
samuelory Apr 15, 2024
9c4d2e1
Merge pull request #177 from samuelory/samuel-v2.8
samuelory Apr 15, 2024
34d3618
Created Sequence Diagram for `recommendCommand` and `askOccasion()`. …
IanFH Apr 15, 2024
4219294
Fixed UG formatting
samuelory Apr 15, 2024
44c80db
Compare-DG
JeffinsonDarmawan Apr 15, 2024
b4b288b
updated ppp
IanFH Apr 15, 2024
1b305d2
Merge pull request #179 from samuelory/samuel-v2.8
JeffinsonDarmawan Apr 15, 2024
6d59605
Merge pull request #178 from IanFH/docs2
samuelory Apr 15, 2024
045c36b
Compare Test
JeffinsonDarmawan Apr 15, 2024
e84c03a
Final pr for dg, ug and ppp
Ijaaz01 Apr 15, 2024
444a5f2
Merge pull request #180 from JeffinsonDarmawan/Compare-DG
samuelory Apr 15, 2024
de65788
Merge branch 'master' into MI-final
Ijaaz01 Apr 15, 2024
b7fcf3b
Merge pull request #181 from Ijaaz01/MI-final
samuelory Apr 15, 2024
a6bffed
Checkstyle fix
Ijaaz01 Apr 15, 2024
105bb30
Merge branch 'master' of https://github.com/AY2324S2-CS2113-T11-3/tp …
Ijaaz01 Apr 15, 2024
a00fef1
updated ppp
IanFH Apr 15, 2024
028c3b4
Merge pull request #182 from Ijaaz01/MI-final
IanFH Apr 15, 2024
eae1890
checkstyle
IanFH Apr 15, 2024
935f85b
Merge pull request #183 from IanFH/docs3
samuelory Apr 15, 2024
9e16963
DG
JeffinsonDarmawan Apr 15, 2024
245eb92
Merge pull request #184 from JeffinsonDarmawan/Compare-DG
Ijaaz01 Apr 15, 2024
08abaa7
Acknowledgement
JeffinsonDarmawan Apr 15, 2024
5c15044
Merge pull request #185 from JeffinsonDarmawan/Compare-DG
Ijaaz01 Apr 15, 2024
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
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,5 @@ bin/

/text-ui-test/ACTUAL.TXT
text-ui-test/EXPECTED-UNIX.TXT
/florizz-out/logs
/florizz-out/data
3 changes: 3 additions & 0 deletions META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Manifest-Version: 1.0
Main-Class: florizz.core.Florizz

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("florizz.core.Florizz")
}

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

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

run{
standardInput = System.in
enableAssertions = true;
}
15 changes: 8 additions & 7 deletions docs/AboutUs.md
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) | Ian Freda Hariyanto | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Mohamed Ijaaz | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Jeffinson Darmawan | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Samuel Ong | [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)

187 changes: 169 additions & 18 deletions docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,35 +4,186 @@

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

## Design & implementation
## Design
Florizz consists of four components, Ui, Logic, Model and Storage. These components are all called on by the Main component, Florizz.java, which simply handles the app initialisation.

{Describe the design and implementation of the product. Use UML diagrams and short code snippets where applicable.}
App initialisation: Initialises the various components, then begins reading inputs from the user

![Architecture](UML-diagrams/Samuel/Architecture.png)

## Product scope
### Target user profile
`Ui`: takes in user inputs from the CLI and sends it to the Logic component. Also handles all writing of messages to the user

{Describe the target user profile}
`Logic`: takes in string input from Ui, and parses it into commands to be executed on variables stored in the model. Calls Ui to provide the user with feedback that the action has or has not been completed.

### Value proposition
`Model`: Handles all the cached variables, i.e. the list of Bouquets created by the user, the list of available Flowers that the user can add to their Bouquets

{Describe the value proposition: what problem does it solve?}
`Storage`: Handles storing and reading from hardware, such as saving the list of bouquets created by the user so they can access it later.

## User Stories
## Implementation

### Adding/Removing Bouquets

![AddBouquets](UML-diagrams/Samuel/AddBouquets.png)
To add a new bouquet to the list of Bouquets saved in the BouquetList variable, the user would have to type `add <bouquet name>` into the CLI, which is then handled by `Ui.getInput` and passed to `Parser`, which
creates a Command `Addcommand` with a new Bouquet of that name as an argument. This command is then sent back to `Florizz`, the main class, where it is then executed.

If a bouquet of the same name already exists in BouquetList, an exception will be thrown and the user will be prompted to choose another name. This is facilitated by overriding the .equals() method in the `Bouquet` class such that
Copy link

Choose a reason for hiding this comment

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

This section is quite long, maybe can change to point form?

when two Bouquets are compared, .equals() returns true when they have the same name, regardless of which flowers are contained within each `Bouquet`. This decision was made mainly to facilitate `DeleteBouquetCommand`,
so we can simply call BouquetList.remove(BouquetToRemove) and the correct bouquet will be removed even if the BouquetToRemove is simply an empty `Bouquet` with the same name as the one in the list.

After adding the `Bouquet` to `BouquetList`, the new `Bouquet` is then sent to `ui.printBouquetAdded`, where a confirmation message will be printed to the user.

Removing Bouquets follows a similar logic, just that instead of calling `BouquetList.add(Bouquet)`, executing `DeleteBouquetCommand` calls `BouquetList.remove(Bouquet)`, removing the `Bouquet` as mentioned above.

### Flower Information Command

`info <flowerName>` command prints information about the specified flower

![Info Command Sequence Diagram](/docs/UML-diagrams/Ian/InfoCommandUML.png)

Step 1: Flower information mechanism utilize the `parser` class to parse user command for a specific flower name inputted.
Copy link

Choose a reason for hiding this comment

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

The step numbers in the section below (Flower Remove Command) are in bold, should standardise the formatting?


Step 2: Once `parser` detect that `info` keyword is used, it will instantiate `InfoCommand` class and run its `execute()` method.

Step 3: `InfoCommand` class will call `printFlowerInfo()` method of `Ui` class

Step 4: `get()` of `FlowerDictionary` class will then be called in order to retrive information about the specified flower. This information will be printed by the `Ui` class

### Flower Remove Command

`remove <flowerName> /q <quantity> /from <bouquetName>` removes flower(s) from a bouquet

![Remove Command Sequence Diagram](UML-diagrams/Jeffinson/Jeffinson-UML-Remove.png);
Copy link

Choose a reason for hiding this comment

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

image
What is "a" being returned? Don't really understand


Removing flowers utilise the `parser` class to parse user command to identify which flower to remove,
how much to remove and from which bouquet to remove.

**Step 1:** User will input the flower name, quantity and bouquet name into the `Parser.parser()` method, after which `RemoveFlowerCommand`
class will be instantiated and run its `execute()` method.

**Step 2:** An object of type `RemoveFlowerCommand` is returned which contains the name, quantity of the flower to be added, and the target bouquet

**Step 3:** Within the `RemoveFlowerCommand`, `execute()` method is called to execute the removal of flower command

**Step 4:** The flowers are removed and a confirmation message is sent back to the user

|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|
### Flower Help Command

## Non-Functional Requirements
`help` Shows a list of valid commands

{Give non-functional requirements}
![Help Command Sequence Diagram](UML-diagrams/Jeffinson/Jeffinson-UML-Help.png);

## Glossary
Help command utilises the `parser` class to identify the keyword `help`

* *glossary item* - Definition
**Step 1: ** User will write `help` and `HelpCommand` class will be instantiated and `execute()` method will run.

## Instructions for manual testing
**Step 2:** `HelpCommand` class will call `printHelpMessage()` method of `Ui` class

{Give instructions on how to do a manual product testing e.g., how to load sample data to be used for testing}
**Step 3:** The list of valid commands will be printed by the `Ui` class

### Add Flower Command

`add <flower> /q <quantity> /to <targetBouquet>` command adds specified number of flower to a bouquet

![Add Flower Command Diagram](/docs/UML-diagrams/Ijaaz/Ijaaz-UML.png)
Copy link

Choose a reason for hiding this comment

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

Diagram not showing up in the DG


Step 1: Firstly the input is put into the `Parser.parse()` method to identify that it is infact an add flower command.

Step 2: Then an object of type `AddFlowerCommand` is returned which contains the name, quantity of the flower to be added, as well as the target bouquet

Step 3: The `execute()` method is called to execute the add flower command

Step 4: The target bouquet, which is under model, is updated accordingly

Step 5: A confirmation message is then sent back to the user

### [Proposed] Storage

#### Proposed Implementation:

The proposed storage mechanism will utilize a class `storage` who is in charge of getting the file, `encoder` which will encode current model into a .txt file format, `decoder` which will decode .txt file into a usable model.

![Storage Class Diagram](/docs/UML-diagrams/Ian/storage.png)

#### Design Considerations:
- Alternative 1 (current choice): use .txt files as storage
- Pros:
- Easier to implement
- .txt file is very readable even outside of programme
- Cons:
- .txt file can be easily changed outside of programme, making storage of model prone to parsing failure
- Alternative 2: use .csv files as storage
- Pros:
- A more standardize format that is easily accepted by other 3rd party software
- Cons:
- More difficulty to set up the decoder
- .csv file can be easily changed outside of programme, making storage of model prone to parsing failure


# Appendix: Requirements

## Product scope

### Target user profile:
- has a need of purchasing a bouquet
- prefers desktop apps over other types
- can type reasonably fast
- prefers typing to mouse interactions
- is comfortable using CLI apps

### Value proposition:
- organise flowers faster than using a GUI driven app
- curate flowers automatically based on context given through typed text

## User Stories
Priorities: High (must have) `* * *`, Medium (nice to have) `* *`, Low (unlikely to have) `*`
Copy link

Choose a reason for hiding this comment

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

So are all the user stories here already implemented? Not very clear about that?


| No | As a ... | I can ... | So that I can ... | Priority |
|-----|-----------------|--------------------------------------------------|-------------------------------------------------------------------------------|----------|
| 1 | first-time user | see an intro message detailing a command flow | easily know what commands to type | *** |
| 2 | user | add flowers into my list | easily manage the list | *** |
| 3 | user | remove flowers from my list | update my list of flowers | *** |
| 4 | user | navigate a list of flowers | easily know what flowers to add to my bouquet | *** |
| 5 | user | specify the occasion I am buying flowers for | get suggestion on appropriate flowers to buy without wasting time researching | *** |
| 6 | user | make new bouquets | make multiple bouquets for different occasion | *** |
| 7 | advanced user | see detailed information of each flower | be more knowledgeable in the flowers I buy | ** |
| 8 | user | save my bouquets to hardware | view it for a later date | ** |
| 9 | user | export my list of flowers to readable files | save and share it externally | ** |
| 10 | advanced user | mix and match flowers manually | have a customised bouquet | ** |
| 11 | user | filter flowers based on colours | add matching flowers into my bouquet | ** |
| 12 | first-time user | type `help` for usage of command | better use the app | ** |
| 13 | user | view an image of specified flower | better visualise how the bouquet will look like | ** |
| 14 | user | calculate the approximate cost of bouquets | better budget my bouquet | * |
| 15 | user | ask how to prepare bouquets | make my own bouquets from flowers I bought | * |
| 16 | user | view locations of flower shops around me | buy fresh flower conveniently | * |

## Use cases

(For all all use cases below, the System is `Florizz` and the Actor is the `user`, unless specified otherwise)

**Use case: Create a new bouquet named "for valentine" and add 3 stalks of rose into the bouquet**

Main Success Scenario (MSS):
1. User creates new bouquet named "for valentine"
2. Programme responds that a new bouquet is successfully created
3. User adds 3 stalks of rose into the bouquet
4. Programme responds that the 3 stalks of rose has been successfully added
5. Programme displays the current state of "for valentine" bouquet and all the flowers inside it

** Use case: Removing flowers from a bouquet named "for valentine" **

Main Success Scenario (MSS):
1. User removes 5 stalks of rose from the bouquet named "for valentine"
2. Programme responds that 5 stalks of rose from the specified bouquet successfully
3. Programme displays the current state of "for valentine" bouquet and all the flowers inside it

**Extensions**
- 1a. The bouquet named "for valentine" does not exist
- 1a. Florizz shows an error message

Use case ends.

- 2a. There are less than 5 stalks of rose in the specified bouquet
- 2a1. Florizz shows an error message

Use case ends.
4 changes: 2 additions & 2 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Duke
# Florizz

{Give product intro here}
An easy to use bouquet recomendation software using CLI

Useful links:
* [User Guide](UserGuide.md)
Expand Down
10 changes: 10 additions & 0 deletions docs/UML-diagrams/Ian/Ijaaz-style.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
@startuml
'https://plantuml.com/sequence-diagram

!define LOGIC_COLOUR #bcf5c9
!define LOGIC_COLOUR_T1 #3dfc6a
!define MODEL_COLOUR #f5a2a2
!define MODEL_COLOUR_T1 #fc1e1e
!define UI_COLOUR #FFDA17
!define UI_COLOUR_T1 #FFF5C0
@enduml
Binary file added docs/UML-diagrams/Ian/InfoCommandUML.png

Choose a reason for hiding this comment

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

Parser calling InfoCommand, is the arrow suppose to point to the start of InfoCommand's activation bar?

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
51 changes: 51 additions & 0 deletions docs/UML-diagrams/Ian/InfoCommandUML.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
@startuml
'https://plantuml.com/sequence-diagram
!include Ijaaz-style.puml

actor "user" as user
participant ":Florizz" as Florizz
box Logic LOGIC_COLOUR
participant ":Parser" as Parser LOGIC_COLOUR_T1
participant "a:InfoCommand" as InfoCommand LOGIC_COLOUR_T1
participant "b:FlowerDictionary" as FlowerDictionary LOGIC_COLOUR_T1
end box

box Ui UI_COLOUR
participant ":UI" as Ui UI_COLOUR_T1
end box

[-> Florizz : execute("info rose")
activate Florizz

Florizz -> Parser : parse("info rose")
activate Parser

create InfoCommand
Parser -> InfoCommand : InfoCommand("rose")
activate InfoCommand

InfoCommand --> Parser : a
deactivate InfoCommand

Parser --> Florizz : a
deactivate Parser

Florizz -> InfoCommand : execute()
activate InfoCommand

InfoCommand -> Ui : printFlowerInfo("rose")
activate Ui

Ui -> FlowerDictionary : get("rose")
activate FlowerDictionary
FlowerDictionary ---> Ui
deactivate FlowerDictionary

Ui --> InfoCommand
deactivate Ui

InfoCommand --> Florizz
deactivate InfoCommand

<--Florizz
@enduml
Binary file added docs/UML-diagrams/Ian/storage.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
23 changes: 23 additions & 0 deletions docs/UML-diagrams/Ian/storage.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
@startuml
package "Storage Component" {
class StorageManager {
-URL: String
+getFile(): void
+retrieve(): Data
+delete(): void
}

class Encoder {
-bouquet: Bouquet
+encodeBouquet(:bouquet): void
}

class Decoder {
-bouquet: Bouquet
+decodeBouquet(): Bouquet
}

StorageManager -- Encoder
StorageManager -- Decoder
}
@enduml
Binary file added docs/UML-diagrams/Ijaaz/Ijaaz-UML.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
45 changes: 45 additions & 0 deletions docs/UML-diagrams/Ijaaz/Ijaaz-UML.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
@startuml
'https://plantuml.com/sequence-diagram
!include Ijaaz-style.puml

actor "user" as user
participant ":Florizz" as Florizz
box Logic LOGIC_COLOUR
participant ":Parser" as Parser LOGIC_COLOUR_T1
participant "a:AddFlowerCommand" as AddFlowerCommand LOGIC_COLOUR_T1
end box

box Model MODEL_COLOUR
participant ":Model" as Model MODEL_COLOUR_T1
end box

[-> Florizz : execute("add rose /q 1 /to mum")
activate Florizz

Florizz -> Parser : parse("add rose /q 1 /to mum")
activate Parser

create AddFlowerCommand
Parser -> AddFlowerCommand : AddFlowerCommand("rose", 1, "mum")
activate AddFlowerCommand

AddFlowerCommand --> Parser : a
deactivate AddFlowerCommand

Parser --> Florizz : a
deactivate Parser

Florizz -> AddFlowerCommand : execute()
activate AddFlowerCommand

AddFlowerCommand -> Model : addFlower("rose", 1)
activate Model

Model --> AddFlowerCommand
deactivate Model

AddFlowerCommand --> Florizz
deactivate AddFlowerCommand

<--Florizz
@enduml
Loading
Loading