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-T12-3] Student Exchange Programme Helper #22

Open
wants to merge 603 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
603 commits
Select commit Hold shift + click to select a range
9318f2c
Update to Parser class to make it more singleton
briantjs00 Apr 5, 2023
e6d611a
Change BudgetPlanner class into singleton pattern
briantjs00 Apr 5, 2023
46f67b1
Update the instantiation of BudgetPlanner in main and related tests
briantjs00 Apr 5, 2023
f0750c1
Change BudgetStorage class into singleton pattern
briantjs00 Apr 5, 2023
11b5e6f
Update the instantiation of BudgetPlanner in main and related tests.
briantjs00 Apr 5, 2023
307ef54
Change Storage class into singleton pattern
briantjs00 Apr 5, 2023
6615696
Update the instantiation of Storage in related classes and tests
briantjs00 Apr 5, 2023
affd10e
Change DeadlineStorage class into singleton pattern
briantjs00 Apr 5, 2023
2af669b
Update the instantiation of DeadlineStorage in related classes and tests
briantjs00 Apr 5, 2023
1218936
Merge pull request #157 from briantjs00/branch-Budget-Singleton
briantjs00 Apr 6, 2023
9f1d7a7
Merge pull request #158 from briantjs00/branch-Storage-Singleton
briantjs00 Apr 6, 2023
96656b9
Merge branch 'master' of https://github.com/AY2223S2-CS2113-T12-3/tp …
briantjs00 Apr 6, 2023
20fd061
Add sequence diagram png
SSzeWen Apr 6, 2023
477c965
Add Developer Guide for budget class
SSzeWen Apr 6, 2023
457d2b6
Merge branch 'master' into branch-add-budget-developer-guide
SSzeWen Apr 6, 2023
168c842
Merge Conflicts
briantjs00 Apr 6, 2023
2bedfc5
Merge pull request #159 from briantjs00/Branch-DeadlineStorage-Singleton
briantjs00 Apr 6, 2023
163da16
Merge branch 'master' of https://github.com/AY2223S2-CS2113-T12-3/tp …
briantjs00 Apr 6, 2023
bb60332
Move the instantiation of Paser to Duke main
briantjs00 Apr 6, 2023
62cb629
Merge pull request #156 from briantjs00/branch-Parser-Singleton
briantjs00 Apr 6, 2023
0f5e9e0
Update DG for Storage Class
SSzeWen Apr 6, 2023
c5b91c5
Merge branch 'master' into branch-add-budget-developer-guide
SSzeWen Apr 6, 2023
147735d
Add Class Diagram of Storage class to Developer Guide
SSzeWen Apr 6, 2023
8b76761
Merge pull request #161 from SSzeWen/branch-add-budget-developer-guide
SSzeWen Apr 6, 2023
ad6657e
Add PPP
briantjs00 Apr 6, 2023
a1c7b31
Merge pull request #162 from briantjs00/branch-Add-PPP
briantjs00 Apr 6, 2023
80f909d
add PPP
SSzeWen Apr 6, 2023
7b58562
Merge pull request #163 from SSzeWen/branch-add-PPP
SSzeWen Apr 6, 2023
5a90a1d
Draft PPP and update UG
darrenlsx Apr 6, 2023
18affd0
Merge pull request #164 from darrenlsx/branch-ppp-draft
darrenlsx Apr 6, 2023
bf5761c
Update JUnit test and update help function
darrenlsx Apr 6, 2023
d0713aa
Merge pull request #152 from MuxPotato/ChangeAddFunctionToUseIndex
MuxPotato Apr 6, 2023
00401a0
Merge branch 'master' into branch-junit-test-2
darrenlsx Apr 6, 2023
f00e13d
Fix UG bug
darrenlsx Apr 6, 2023
28248b3
Merge branch 'master' of https://github.com/AY2223S2-CS2113-T12-3/tp …
darrenlsx Apr 6, 2023
f8fd6a9
Merge pull request #165 from darrenlsx/branch-junit-test-2
darrenlsx Apr 6, 2023
407d32f
Merge branch 'master' of https://github.com/AY2223S2-CS2113-T12-3/tp …
darrenlsx Apr 6, 2023
59c4473
Merge pull request #166 from darrenlsx/master
darrenlsx Apr 6, 2023
29d62b0
Drafted PPP for muxpotato
MuxPotato Apr 6, 2023
e5ac487
Merge branch 'master' into MaxPPPDraft1
MuxPotato Apr 6, 2023
c23377a
Merge pull request #167 from MuxPotato/MaxPPPDraft1
MuxPotato Apr 6, 2023
0ffc267
Clean up Budget Command
SSzeWen Apr 7, 2023
a3e0daf
Fix checkstyle
SSzeWen Apr 7, 2023
6ccd6f8
Merge pull request #168 from SSzeWen/branch-cleanup-budget
SSzeWen Apr 7, 2023
e097df8
Clean up UG and UI help function
darrenlsx Apr 7, 2023
a89be9d
Fix bug
darrenlsx Apr 7, 2023
e1706f6
Merge pull request #169 from darrenlsx/branch-fix-bugs-2
darrenlsx Apr 7, 2023
e7c79b1
Merge pull request #146 from L0Z1K/fix/filter
L0Z1K Apr 7, 2023
aa26218
Docs: Add l0z1k's PPP
L0Z1K Apr 7, 2023
fb61f25
Merge pull request #170 from L0Z1K/docs/ppp-yoon
L0Z1K Apr 7, 2023
3f099df
Added commnad summary to UG, Touch up on UG
MuxPotato Apr 7, 2023
b3e9187
Added /help to command summary
MuxPotato Apr 7, 2023
a32831d
Merge pull request #171 from MuxPotato/AddedCommandSummary
MuxPotato Apr 8, 2023
b989b98
Merge branch 'master' into AddAssertionsForRemoveFunction
MuxPotato Apr 8, 2023
7f71aa6
Merge pull request #86 from MuxPotato/AddAssertionsForRemoveFunction
MuxPotato Apr 8, 2023
e59cdca
Changed UI and DataReader to Singleton Design Pattern
MuxPotato Apr 8, 2023
2699705
Add JUnit tests for budget commands
SSzeWen Apr 8, 2023
c196bba
update UG
SSzeWen Apr 8, 2023
f1b6602
Add Junit for BudgetStorage
SSzeWen Apr 8, 2023
0de9d68
Merge pull request #172 from MuxPotato/ChangeUIToSingleton
SSzeWen Apr 8, 2023
15a1b7a
Add ViewBudgetCommand JUnit skeleton
SSzeWen Apr 8, 2023
a3ee8f9
Merge branch 'master' into branch-cleanup-code
SSzeWen Apr 8, 2023
b82c56d
update ref for Developer Guide
SSzeWen Apr 8, 2023
aaeddea
Updated Seuquence Diagrams for List and Delete Commands
MuxPotato Apr 8, 2023
f783a8e
Updated Sequence Diagrams for list and delete commands
MuxPotato Apr 8, 2023
3106afa
Merge branch 'ChangeUIToSingleton' into UpdateListAndDeleteDG
MuxPotato Apr 8, 2023
cbd2b13
Add View Budget Command Junit tests
SSzeWen Apr 8, 2023
30cb402
Update JUnit tests
SSzeWen Apr 8, 2023
7bde58b
Add documentation for Storage Class
SSzeWen Apr 8, 2023
f6e89b1
Add credits
SSzeWen Apr 8, 2023
52e98f4
Change documentation style
SSzeWen Apr 8, 2023
7e2f93f
Added Sequence Diagram for sorting function
MuxPotato Apr 8, 2023
73db092
Add additional line to pass checkstyle
SSzeWen Apr 8, 2023
33f64c4
Merge pull request #174 from SSzeWen/branch-cleanup-code
SSzeWen Apr 8, 2023
afa61fe
Add exceptions to handle incorrect inputs for all the commands except…
briantjs00 Apr 8, 2023
485098b
Edit format for handleListCommands
briantjs00 Apr 8, 2023
d6a9003
Merge pull request #175 from briantjs00/branch-Fix-Parser
briantjs00 Apr 8, 2023
6cebb84
Added Class Diagram for UI, Editted Sequence Diagrams for add function
MuxPotato Apr 8, 2023
77af144
Update Sequnce Diagram for Delete function to include sorting
MuxPotato Apr 8, 2023
4cbb047
Edited DG for DeleteModuleCommand to include sorting after deletion o…
MuxPotato Apr 8, 2023
ae650af
Merge pull request #176 from MuxPotato/UpdateListAndDeleteDG
MuxPotato Apr 8, 2023
67eb045
Add Acknowledgements for Junit5 testing for UI test
MuxPotato Apr 8, 2023
7e5cae7
Merge pull request #177 from MuxPotato/AddAcknowledgements
MuxPotato Apr 8, 2023
b6d31b5
Add "/search /mods" command in Parser to show the list of mappable nu…
briantjs00 Apr 8, 2023
1c0228e
Create new ListMappableNusModsCommand class
briantjs00 Apr 8, 2023
1d1bfc4
Add the print function for "/search /mods" command in UI.
briantjs00 Apr 8, 2023
dca92a2
Update DG and edit credits for author
darrenlsx Apr 8, 2023
6a5b23c
Merge pull request #179 from darrenlsx/branch-edit-credits
darrenlsx Apr 8, 2023
6e0294f
Format Developer Guide
SSzeWen Apr 9, 2023
3b658fa
Merge branch 'master' into branch-update-developer-guide-latest
SSzeWen Apr 9, 2023
c28d8cc
Extract the exception into 2 new functions: userInput3WordsException …
briantjs00 Apr 9, 2023
c135858
Merge pull request #178 from briantjs00/branch-Search-Mods
briantjs00 Apr 9, 2023
8ee3c04
Update DG For Add Module
SSzeWen Apr 9, 2023
41e6fa3
Change Budget Commands to non case sensitive
SSzeWen Apr 9, 2023
f4283c6
Revert "Change Budget Commands to non case sensitive"
SSzeWen Apr 9, 2023
2fb3801
Merge branch 'master' into branch-update-developer-guide-latest
SSzeWen Apr 9, 2023
7d8f031
Change Budget Commands to non case sensitive
SSzeWen Apr 9, 2023
0b61cbd
Merge pull request #180 from SSzeWen/branch-update-developer-guide-la…
SSzeWen Apr 9, 2023
144f21a
Update DG and UG
darrenlsx Apr 9, 2023
916af54
Fix UG bug
darrenlsx Apr 9, 2023
6f0fd65
Fix UG bug
darrenlsx Apr 9, 2023
cf798d0
Merge pull request #181 from darrenlsx/branch-dev-guide-2
darrenlsx Apr 9, 2023
3e552ed
Update UG format and change case sensitivity
darrenlsx Apr 9, 2023
ca3b776
Merge pull request #182 from darrenlsx/branch-fix-bugs-3
darrenlsx Apr 9, 2023
bb90e29
Fix filter by module code and name to /name and /mc
SSzeWen Apr 9, 2023
b37e6ae
Merge branch 'master' into branch-fix-filter
SSzeWen Apr 9, 2023
91b255a
Update JUnit tests for change to help function for filter
SSzeWen Apr 9, 2023
136895b
Add Value propossition and User Stories
MuxPotato Apr 9, 2023
f4b22fb
Update UG And Help commands UI
SSzeWen Apr 9, 2023
85fcf78
Merge pull request #183 from MuxPotato/AddDGValueAndUserStories
MuxPotato Apr 9, 2023
87c2dba
Merge branch 'master' into branch-fix-filter
SSzeWen Apr 9, 2023
6dfeddc
Merge pull request #184 from SSzeWen/branch-fix-filter
SSzeWen Apr 9, 2023
752e9a3
Add assertion
darrenlsx Apr 9, 2023
6dffd76
Merge pull request #185 from darrenlsx/branch-assertion
darrenlsx Apr 9, 2023
93db584
Change Storage Class to Module Storage Class
SSzeWen Apr 9, 2023
9413c8f
Fix typo of ModuleStorage
SSzeWen Apr 9, 2023
414ae1c
Merge pull request #186 from SSzeWen/branch-change-Storage-Class-Name
SSzeWen Apr 9, 2023
b1fe589
Fix DG Seq Diagrams
darrenlsx Apr 9, 2023
980bc35
Merge branch 'master' into branch-fix-bugs-4
darrenlsx Apr 9, 2023
d91a27c
Changed List Pu Command Sequence Diagram
MuxPotato Apr 9, 2023
a0e0986
Merge pull request #187 from darrenlsx/branch-fix-bugs-4
darrenlsx Apr 9, 2023
aa27a69
Fix DG and UG bugs
darrenlsx Apr 9, 2023
2c8ecf4
Update PPP
darrenlsx Apr 9, 2023
2c041b3
Merge pull request #189 from darrenlsx/branch-fix-bugs-5
darrenlsx Apr 9, 2023
42149d9
Add messages for module adding and module deletion
SSzeWen Apr 9, 2023
e2d8331
Merge branch 'master' into branch-developer-guide-enhancement
SSzeWen Apr 9, 2023
aaf7668
Merge pull request #190 from SSzeWen/branch-developer-guide-enhancement
SSzeWen Apr 9, 2023
79e2d59
Remove Duke from diagrams
SSzeWen Apr 9, 2023
ac5c6e4
Remove Duke in Sequence Diagram
SSzeWen Apr 9, 2023
8c6d2fb
Add high level Duke diagrams
SSzeWen Apr 9, 2023
c2e9d5a
Add Duke High Level Sequence diagram
SSzeWen Apr 9, 2023
3fcc29a
Ad JavaDocs
SSzeWen Apr 9, 2023
a2073fd
Update BudgetClassDiagram to abstract Goodsandservices
SSzeWen Apr 9, 2023
c84f66f
Add JavaDocs for Command classes
SSzeWen Apr 9, 2023
c84b27b
Add JavaDocs for ViewBudgetCommand
SSzeWen Apr 9, 2023
5a2c3f0
Updated Architecture Diagram
MuxPotato Apr 9, 2023
9182ffe
Merge pull request #191 from MuxPotato/ReviseDG
MuxPotato Apr 9, 2023
f49e306
Update Duke High Level diagram and change storageaddmodule to use alt…
SSzeWen Apr 10, 2023
e4255ee
Merge branch 'master' into branch-cleanup
SSzeWen Apr 10, 2023
82657ce
remove Duke from sequence diagram and change opt blocks to alt blocks
SSzeWen Apr 10, 2023
302056b
Update Sequence Diagram for command, fix activation bar cutting off a…
MuxPotato Apr 10, 2023
347c587
Update User Guide Description
MuxPotato Apr 10, 2023
3df6156
Merge pull request #192 from MuxPotato/UpdateSDAndUserGuideDescription
MuxPotato Apr 10, 2023
cf7d31a
Add User Story
SSzeWen Apr 10, 2023
5ba6ede
Add in sorting function for search
SSzeWen Apr 10, 2023
4decc20
Updated Filter command description in UG table for summary of commands
MuxPotato Apr 10, 2023
3054bb4
Fix Search function printing of UI
SSzeWen Apr 10, 2023
4641052
Change Storage Class name to ModuleStorage in SD
SSzeWen Apr 10, 2023
cc562ff
Change Storage to ModuleStorage in Class Diagram
SSzeWen Apr 10, 2023
390b78c
Change Storage to ModuleStorage in Sequence Diagrams and update png file
SSzeWen Apr 10, 2023
1aaded9
update JUnit for search function to add a line at the bottom
SSzeWen Apr 10, 2023
25caa1c
Merge pull request #194 from SSzeWen/branch-cleanup
SSzeWen Apr 10, 2023
c6e5d40
Merge branch 'master' into AddJavaDocs
MuxPotato Apr 10, 2023
3664a05
Changed Sequence Diagram to show ModuleStorage instead of Storage
MuxPotato Apr 10, 2023
6a734b9
Fix Listcurrentpu modules commad in parser
MuxPotato Apr 10, 2023
78ed2d4
Update Parser Sequence diagram and in DG
briantjs00 Apr 10, 2023
512f2cf
Merge branch 'master' of https://github.com/AY2223S2-CS2113-T12-3/tp …
briantjs00 Apr 10, 2023
875587e
Merge pull request #195 from MuxPotato/FixListCurrentIndexBug
MuxPotato Apr 10, 2023
03b5c88
Update Javadocs and UG
darrenlsx Apr 10, 2023
d8c2ae2
Merge branch 'master' of https://github.com/AY2223S2-CS2113-T12-3/tp …
darrenlsx Apr 10, 2023
2699286
Merge pull request #196 from darrenlsx/branch-javadocs
darrenlsx Apr 10, 2023
8185618
Added JavaDocs for UI class
MuxPotato Apr 10, 2023
6477438
Merge branch 'master' into AddJavaDocs
MuxPotato Apr 10, 2023
e1a330b
Update DG deadline class diagram
darrenlsx Apr 10, 2023
5258169
Fix javadoc bug
darrenlsx Apr 10, 2023
dc3750c
Merge pull request #197 from darrenlsx/branch-dev-guide-3
darrenlsx Apr 10, 2023
40b4319
change theme
SSzeWen Apr 10, 2023
e59dc60
Update PPP
darrenlsx Apr 10, 2023
c3ca182
Add ListFoundNusModsCommand sequence diagram and add to DG
briantjs00 Apr 10, 2023
ea4f0b3
bugfix change theme
SSzeWen Apr 10, 2023
ff05e8f
Merge pull request #199 from darrenlsx/branch-update-ppp
darrenlsx Apr 10, 2023
9cc4af1
Delete theme
SSzeWen Apr 10, 2023
1b2f700
Merge branch 'master' into branch-find-bugs
SSzeWen Apr 10, 2023
70f635a
Merge pull request #198 from SSzeWen/branch-find-bugs
SSzeWen Apr 10, 2023
8823f4a
Merge branch 'master' into AddJavaDocs
MuxPotato Apr 10, 2023
edb4625
Added JavaDocs for Parser Class
MuxPotato Apr 10, 2023
56b9389
Add sequence diagram for ListMappableNusModsCommand and update in the DG
briantjs00 Apr 10, 2023
8e9fb3f
list all the imports from budget
briantjs00 Apr 10, 2023
b03efde
Added JavaDocs for List Commands
MuxPotato Apr 10, 2023
686d8a5
Merge pull request #200 from briantjs00/branch-Update-Developer-Guide
briantjs00 Apr 10, 2023
7bd36ef
Merge pull request #202 from MuxPotato/AddJavaDocs
MuxPotato Apr 10, 2023
c4a116d
Add NFR and Glossary
SSzeWen Apr 10, 2023
29d6188
Merge branch 'master' into branch-final-cleanup
SSzeWen Apr 10, 2023
ce46003
Update PPP
darrenlsx Apr 10, 2023
ef7dbad
Update DG
darrenlsx Apr 10, 2023
a4bc4b8
Merge pull request #203 from darrenlsx/branch-update-ppp-2
darrenlsx Apr 10, 2023
6e73ac2
Fix AboutUs Doc to show PPPs
MuxPotato Apr 10, 2023
30ac4c3
update PPP
SSzeWen Apr 10, 2023
c46a10b
Merge pull request #204 from MuxPotato/FixAboutUsDOc
MuxPotato Apr 10, 2023
81243a8
Update /help command with "/search /mods" and filters
briantjs00 Apr 10, 2023
ed78d52
Merge pull request #205 from briantjs00/branch-Update-Help
briantjs00 Apr 10, 2023
0aab465
Update the /help command in UI and it's respective tests to print out…
briantjs00 Apr 10, 2023
28c0b29
Merge branch 'master' into branch-final-cleanup
SSzeWen Apr 10, 2023
3dc6d10
Change name to full name
SSzeWen Apr 10, 2023
de4d796
Merge pull request #206 from SSzeWen/branch-final-cleanup
SSzeWen Apr 10, 2023
3a42374
Update UG with search commands and change expected outcome for /help …
briantjs00 Apr 10, 2023
b8ef4e2
Draft Latest Architecture
MuxPotato Apr 10, 2023
57647ce
Merge pull request #207 from briantjs00/branch-Update-UserGuides-&-Ja…
briantjs00 Apr 10, 2023
d8f0402
Change naming of Duke to SEPHelper
MuxPotato Apr 10, 2023
bc817b6
Change Naming of Duke to SEPHelper
MuxPotato Apr 10, 2023
26ad144
change name from Duke to SEPHelper
SSzeWen Apr 10, 2023
b3aeccd
Merge pull request #208 from SSzeWen/branch-fix-Developer-Guide-Duke
SSzeWen Apr 10, 2023
8b9233c
Updated Architecture Diagram description in DG
MuxPotato Apr 10, 2023
b707364
Merge pull request #209 from MuxPotato/UpdateArchitectureSystem
MuxPotato Apr 10, 2023
937c538
Added some user stories
MuxPotato Apr 10, 2023
536fef9
Update JavDocs for UI.
briantjs00 Apr 10, 2023
6332b49
Update Instructions for manual testing for module mapping features
MuxPotato Apr 10, 2023
6a01530
Add Sequence Diagrams
SSzeWen Apr 10, 2023
f1377a9
Merge pull request #210 from MuxPotato/UGInstructionsForManualTesting
MuxPotato Apr 10, 2023
21fdce5
Update DG
SSzeWen Apr 10, 2023
0f1f3bc
Merge branch 'master' into branch-change-deadline-budget-parser
SSzeWen Apr 10, 2023
1312101
Merge pull request #211 from SSzeWen/branch-change-deadline-budget-pa…
SSzeWen Apr 10, 2023
db0b39c
Refactored Duke to SEPHelper naming
MuxPotato Apr 10, 2023
01a2c30
Change build.gradle main class to SEPHelper
MuxPotato Apr 10, 2023
2138915
Make some changes in JavDocs for UI class
briantjs00 Apr 10, 2023
1a53e3f
Update JavDocs for Parser Class and it's functions
briantjs00 Apr 10, 2023
d992485
Merge pull request #212 from MuxPotato/UGInstructionsForManualTesting
MuxPotato Apr 10, 2023
8d28c75
Update typo in DG
briantjs00 Apr 10, 2023
e228068
Update JavDocs for ListFoundNusModsCommand and ListMappableNusModsCom…
briantjs00 Apr 10, 2023
8b720ef
Merge pull request #213 from briantjs00/branch-Update-UserGuides-&-Ja…
briantjs00 Apr 10, 2023
c4912b6
Update Budget Diagrams in Parser
SSzeWen Apr 10, 2023
8602f6c
Add Developer Guide details
SSzeWen Apr 10, 2023
d3e6217
Merge branch 'master' into branch-add-highlevel
SSzeWen Apr 10, 2023
a45026b
Merge pull request #214 from SSzeWen/branch-add-highlevel
SSzeWen Apr 10, 2023
249c30d
Fix bugs in DG
darrenlsx Apr 10, 2023
789451b
Merge pull request #215 from darrenlsx/branch-fix-bugs-6
darrenlsx Apr 10, 2023
d36bf98
Update Developer Guide Budget Commands
SSzeWen Apr 10, 2023
ab21883
Update Parser Sequence Diagrams
briantjs00 Apr 10, 2023
d4190be
Update DG
briantjs00 Apr 10, 2023
6a2e044
Merge pull request #217 from briantjs00/branch-Update-Parser-Diagrams
briantjs00 Apr 10, 2023
eacae8d
Delete dummy PPP
briantjs00 Apr 10, 2023
0972fed
Update PPP
MuxPotato Apr 10, 2023
ea768ce
Add User Guide notes and change expected outcomes and description of …
SSzeWen Apr 10, 2023
a181c51
Merge branch 'master' into branch-touchup
SSzeWen Apr 10, 2023
6904d3e
Merge pull request #218 from MuxPotato/FinalisePPP
MuxPotato Apr 10, 2023
18e01b6
Fixed Typo
briantjs00 Apr 10, 2023
34e80f2
Update DG
SSzeWen Apr 10, 2023
1e63acc
Update DG for searchByNusModCode
briantjs00 Apr 10, 2023
b286f5b
Merge pull request #219 from briantjs00/branch-Update-PPP
briantjs00 Apr 10, 2023
1113acd
Add in Jar file link
SSzeWen Apr 10, 2023
0974893
Update AboutUs
MuxPotato Apr 10, 2023
e31c97c
Merge pull request #220 from MuxPotato/UpdateAboutUsForWebsite
MuxPotato Apr 10, 2023
5ed231f
Merge branch 'master' into branch-touchup
SSzeWen Apr 10, 2023
05dcb54
Merge pull request #216 from SSzeWen/branch-touchup
SSzeWen Apr 10, 2023
025f222
Update PPP
briantjs00 Apr 10, 2023
67985de
Merge pull request #221 from briantjs00/branch-Update-PPP
briantjs00 Apr 10, 2023
2335648
Format budget DG
SSzeWen Apr 10, 2023
400e17f
Merge pull request #222 from SSzeWen/branch-final-fix
SSzeWen Apr 10, 2023
9b2de8e
Change UG DG QUICK START
MuxPotato Apr 10, 2023
f8487bb
Merge pull request #223 from MuxPotato/LastChangeToUGDG
MuxPotato Apr 10, 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
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,7 @@ bin/

/text-ui-test/ACTUAL.TXT
text-ui-test/EXPECTED-UNIX.TXT

data/budget.txt
data/saved_modules.txt
data/deadlines.txt
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: seedu.duke.Duke

1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,3 +62,4 @@ Steps for publishing documentation to the public:
1. Scroll down to the `GitHub Pages` section.
1. Set the `source` as `master branch /docs folder`.
1. Optionally, use the `choose a theme` button to choose a theme for your documentation.

1 change: 1 addition & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -43,4 +43,5 @@ checkstyle {

run{
standardInput = System.in
enableAssertions = true
}
14 changes: 7 additions & 7 deletions docs/AboutUs.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# 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) | Tan Jin Sheng Brian | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Lim Sheng Xiang, Darren | [Github](https://github.com/darrenlsx) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Sze Wen | [Github](https://github.com/SSzeWen) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | max chew | [Github](https://github.com/MuxPotato) | [Portfolio](docs/teams/muxpotato.md)
![](https://via.placeholder.com/100.png?text=Photo) | Seungyun Baek | [Github](https://github.com/L0Z1K) | [Portfolio](docs/team/seungyunbaek.md)
234 changes: 233 additions & 1 deletion docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,247 @@
# Developer Guide

SEP Helper is a desktop application for Mechanical Engineering students, studying at the
National University of Singapore (NUS), intending to go to Korea for a Student Exchange Programme (SEP).
---

## Table of Contents

1. [Acknowledgements](#acknowledgements)
2. [Design & Implementation](#design--implementation)
1. [Architecture](#architecture)
2. [Help Command](#help-command)
3. [Delete Command](#delete-command)
3. [Product Scope](#product-scope)
1. [Target User Profile](#target-user-profile)
2. [Value Proposition](#value-proposition)
4. [User Stories](#user-stories)
5. [Non-Functional Requirements](#non-functional-requirements)
6. [Glossary](#glossary)
7. [Instructions for Manual Testing](#instructions-for-manual-testing)

---

## Acknowledgements

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

Choose a reason for hiding this comment

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

missing information?

original source as well}

## Design & implementation

# Architecture

![Architecture.png](diagrams%2FArchitecture.png)

Choose a reason for hiding this comment

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

Architecture is clear and easy to understand.

The above _**Architecture**_ diagram gives a high-level overall of the program.

**Main Components of system**

1. Duke : Taking user inputs
2. Parser : Processes and Executes User Commands
3. UI : Prints out messages to user
4. Storage : Processes and stores
5. DataReader

Choose a reason for hiding this comment

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

Is there a missing whitespace here? (Diagram says "Data Reader")


**1. Duke**

Duke holds an instance of each of the component mentioned above.
It is the starting point of our program and takes in user inputs.
Duke executes commands based on an object of class "Command" after Parser processes user inputs and
returns a Command object back to Duke.

**2. Parser**

Parser class serves to process raw user input and map it to one of the various commands.
Parser class will return an object of class "Command", which will be used by Duke to execute the user's commands.

**3. UI**

UI class is in charge of the majority of the print functions present in the program.
It is instantiated once in both Parser and Duke classes, where it's print functions are utilized
to print outputs to the User.

Future Improvements: UI to handle ALL of the printing functions present in the program.

**4. Storage**

Storage class holds an ArrayList of modules that the user has selected.
It saves the user's modules to an external .txt file every time the module list is altered,
and reads from the same .txt file when the program is first booted up.

**5. DataReader**

DataReader class reads two external .txt files to acquire the list of Partner Universities and list
of Modules available in the PUs, and provides this information to other components.

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

Choose a reason for hiding this comment

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

the uml diagram is missing


### Storage

The Storage class handles the loading and storing of information into a single text file in the User's computer.
During the initialisation of the Storage class, which is at the start of the program, loading of data occurs.
From here on, querying of the Storage class is allowed, where modules saved by the user can be accessed through
the ListCurrentCommand. There are only two commands that will cause changes to the text file. They are the AddCommand
and DeleteCommand. This involves adding of new modules and deleting of old modules to the Storage. The text file will
be continuously updated every time an Add or Delete command is called.

How module data is stored in text file:

Module information is stored in one single line separated by commas
`univID`,`moduleCode`,`moduleName`,`moduleMCs`,`nusModuleCode`,`nusModuleName`,`nusModuleMcs`

Sequence Diagram of Storage initialisation:

![Storage.png](diagrams%2FStorage%2FStorage.png)

Choose a reason for hiding this comment

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

Sequence diagram looks blur, but it seems like the return values are not indicated with a dotted line.

Copy link

Choose a reason for hiding this comment

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

It would be better to add figure numbers to your diagrams too!


Choose a reason for hiding this comment

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

Image looks blur on the website

Choose a reason for hiding this comment

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

agree

The Storage class also handles the adding of new modules and the deleting of past modules. When any of this occurs, the
txt file will be updated immediately after the successful adding/deletion of saved modules in the Storage.

- For adding of newly saved modules, they are added through appending to the saved_modules.txt file
- For deleting of past saved modules, they are deleted, and the txt file is updated by rewriting every module from the
ArrayList of saved modules

### Parser

The parser class is responsible for parsing the user's input commands and returning the appropriate command object.
The commands that the parser class will initialise are ListPuCommand(), ListCurrentCommand(modules),
prepareListPuModulesCommand(userCommandSecondKeyword, universities), ExitCommand(),
prepareAddModuleCommand(storage, userCommandSecondKeyword, puModules, universities),
DeleteModuleCommand(storage, indexToRemove, modules), and HelpCommand(). The parser class will handle error checking by

Choose a reason for hiding this comment

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

Perhaps you can consider reformatting this to make it easier to read, as all the commands are lumped together and messy.

throwing InvalidCommandException if the user's input command does not match the specified format.

The following class diagrams illustrates the relationship between the Parser class and the Command classes.
- (TODO: finish up the rest of the command cases)
![ParserSequenceDiagram.png](diagrams%2FParserSequenceDiagram.png)

Choose a reason for hiding this comment

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

  1. The UML Diagram is very large, and many of the command classes are still incomplete. Maybe try to break it up into different diagrams or use reference frames

  2. There is also a case of 4-level self-invocation. Maybe can also make use of reference frames for this?

Choose a reason for hiding this comment

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

The third alt case does not state the condition explicitly, which makes it unclear on when this is called.


### Help Command

The help command provides a list of commands and the commands' respective input format for the user.
> Syntax: /help

The following sequence diagram shows the relationship between the classes involved when the delete command is called.
Copy link

Choose a reason for hiding this comment

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

There is a typo here regarding the delete command


![HelpCommandSequenceDiagram.png](diagrams%2FHelpCommandSequenceDiagram.png)
Copy link

Choose a reason for hiding this comment

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

The method call printHelpCommandMessage() from :HelpModuleCommand should be at the start of the activation bar.


Choose a reason for hiding this comment

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

Activation bar of :HelpCommandModule appears to be cut off from the top and bottom

### Delete Command

The delete command removes a module from the user's saved list of modules that is specified by the user.
> Syntax: delete [_uniAbbreviation_]/[_index_]

The following sequence diagram shows the relationship between the classes involved when the delete command is called.

![DeleteModuleCommandSequenceDiagram.png](diagrams%2FDeleteModuleCommandSequenceDiagram.png)

Choose a reason for hiding this comment

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

For return values, I think it is sufficient to write "true" instead of "return true", as it should already be clear it is a return value by the dotted arrow.

Choose a reason for hiding this comment

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

image

activation bar should end when the method ends


### List Current Command

Lists out all of current modules that user has added.


> Syntax: list current

Sequence Diagram of List Current Command.

![ListCurrentCommandSequenceDiagram.png](diagrams%2FListCurrentCommandSequenceDiagram.png)

Choose a reason for hiding this comment

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

Is there a reason why the dotted arrow at the end of ui:UI goes leftwards instead of right like other arrows?

Choose a reason for hiding this comment

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

image

arrow is on the wrong side

Copy link

Choose a reason for hiding this comment

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

Nice! It would be better if the self-invoked method had an return arrow on the same side of the activation bar going back into the bar.


**Explanation**

1. ListCurrentCommand calls printCurrentPuModList() of UI class, passing an ArrayList<Module> modules.
2. UI object calls ListCurrentPu Command for all universities stored in the class-level object _universities_.
3. UI prints out to userConsole the modules user has added to his list in order of the Partner Universities.

See ListCurrentPuCommand for further explanation:
[ListCurrentPuCommand](#list-current-pu-command)


### List Pu Command

Lists out all of Partner Universities.

> Syntax: list pu

Sequence Diagram of List Pu Command.


![ListPuCommandSequenceDiagram.png](diagrams%2FListPuCommandSequenceDiagram.png)

**Explanation**

1. ListPuCommand calls printPUListMessage() of UI class, which simply prints out a string of message to user
2. ListPuCommand calls printPUList() of UI class.
3. UI class holds an instance of all the possible PUs in an Arraylist<University> object.
4. UI class loops through ArrayList<University> to receive the various university information and print out
to UserConsole

### List Pu Modules Command

Prints out list of modules available at a given Partner University

> Syntax: list [_uniAbbreviation_]

**Note: Partner Universities Abbreviations can be found using List Pu command**

Sequence Diagram of List Pu Modules Command.
![ListPuModulesCommandSequenceDiagram.png](diagrams%2FListPuModulesCommandSequenceDiagram.png)
Copy link

Choose a reason for hiding this comment

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

Nice diagram! But the final return from the static UI class should be at the end of the activation bar

Choose a reason for hiding this comment

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

I feel like your UML diagram is a bit big and filled with a lot of words. Maybe you could try to make it more concise by making it small and precise.


**Explanation**

1. ListPuModulesCommand calls printPUModListMessage() of UI class, which prints out PU Name in a message.
2. ListPuModulesCommand calls printPUModules of UI class, passing the UI class an integer called univID which
UI class uses to identify which Partner University to process.
3. UI class use uniID to loop through the list of modules available, and adds modules of the selected university
to an ArrayList<Module> puModulesToPrint.
4. UI class loops through the modules in puModulesToPrint ArrayList<Module>, retrieving module information and
printing it out to userConsole

### Add Module Command

Adds the Module the user has wants to save to the saved modules database.

Choose a reason for hiding this comment

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

Is this line correct? I am still able to understand but seems like there is some typo.


> Syntax: list [_uniAbbreviation/moduleCode_]

Sequence Diagram of Add Module Command.

![StorageAddModule.png](diagrams%2FStorage%2FStorageAddModule.png)

**Explanation**

1. AddModuleCommand calls addModuleToModuleList(moduleToAdd) of Storage class. moduleToAdd refers to the Module that
the user has picked to add.
2. In the circumstance that the moduleToAdd is null, Storage would call the printAddModuleFailureMessage to tell the
user that module adding has failed, and stop the operation of AddModuleCommand.
3. Storage class would then add the module to its ArrayList of saved modules.
4. Storage class would then initialise an instance of FileWriter to append the newly added module to the txt file.
5. After saving successfully, AddModuleCommand would call UI to print an AddModMessage and returns to Duke
**Future Development**

The UI class currently holds an instance all available PUs and their modules.
This can and will be further refactored into other class to adhere to Single Responsbility Principle.
Possible Solution: Store the PUs and modules in DataReader and use a getter function when needed.


### List Current Pu Command

Prints out modules selected by user specific to a Partner University.

> Syntax: list current [_uniAbbreviation_]

Sequence Diagram of List Current Pu Command
![ListCurrentPuCommandSequenceDiagram.png](diagrams%2FListCurrentPuCommandSequenceDiagram.png)

Choose a reason for hiding this comment

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

image

missing activation bars

Choose a reason for hiding this comment

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

Another small typo in the image "UserConcole"


**Explanation**

1. ListCurrentPuCommand object is initialized with ArrayList<Modules> modules containing all user selected modules
and Integer univId which is the Partner University unique ID that user has inputted.
2. ListCurrentPuCommand calls PrintCurrentPuModList() of UI Class passing these two objects as arguments.
3. PrintCurrentPuModList first filters out modules of the specific Partner University using uniID from the
ArrayList<Module> modules.
4. PrintCurrentPuModList loops through the class level object universities to retrieve the Partner university name
corresponding to the uniID.
5. Loops through filtered modules retrieving module information and printing it out to User Console.



## Product scope

### Target user profile

{Describe the target user profile}
Expand Down
Loading