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-W13-2] easySEP #6

Open
wants to merge 731 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
731 commits
Select commit Hold shift + click to select a range
3881f42
Add handling for UniversityNotFound exceptions
ongzhihong Nov 1, 2022
cc86010
Add parameter length check then remove underscore
joshuan98 Nov 1, 2022
4d2949c
Merge branch 'master' of https://github.com/AY2223S1-CS2113T-W13-2/tp…
ongzhihong Nov 1, 2022
2b54a20
Merge pull request #181 from joshuan98/joshuan98-BugFixes
ongzhihong Nov 1, 2022
2e802de
Merge branch 'master' of https://github.com/AY2223S1-CS2113T-W13-2/tp…
ongzhihong Nov 1, 2022
6bc6a4b
Fix order of printing for viewing University
ongzhihong Nov 1, 2022
c02f52a
Fix empty favourite list viewing
ongzhihong Nov 1, 2022
9566036
Fix checkstyle issues
ongzhihong Nov 1, 2022
c9f1a89
Update database tests to reflect UniversityNotFoundException
ongzhihong Nov 1, 2022
ba58317
Merge pull request #184 from ongzhihong/ongzhihong-LogicBugFix
nshian Nov 1, 2022
d5daed9
Move TimetableManager into UserUniversityListManager class
wangtingjia Nov 1, 2022
5f1f060
Add storage functionality for comments
wangtingjia Nov 1, 2022
44aa51a
Merge pull request #185 from wangtingjia/tingjia-BugResolver
joshuan98 Nov 1, 2022
a50b0c1
Merge pull request #2 from joshuan98/master
joshuan98 Nov 1, 2022
51ed393
Refactor database findPuMapping
joshuan98 Nov 1, 2022
3a599f5
Add InvalidCommentException
joshuan98 Nov 1, 2022
9385e9b
Add parseComment function
joshuan98 Nov 1, 2022
4326df4
Add check if comment is valid
joshuan98 Nov 1, 2022
ef32312
Update AddCommand
joshuan98 Nov 1, 2022
0f4e5b2
Update parseUserCommand to handle comments
joshuan98 Nov 1, 2022
869f890
Stitch comments together for comments with space
joshuan98 Nov 1, 2022
21f8632
Update CommandParserTest.java
joshuan98 Nov 1, 2022
2468e0b
Merge pull request #187 from joshuan98/joshuan98-Comment
wangtingjia Nov 1, 2022
a9292c7
Merge pull request #186 from joshuan98/joshuan98-BugFixes
wangtingjia Nov 1, 2022
5997452
Update class diagrams to follow standard notation
nshian Nov 2, 2022
f74c06d
Merge pull request #188 from nshian/ianNg-DeveloperGuide
wangtingjia Nov 2, 2022
43ccf4e
Update AddCommand to handle comments with space
joshuan98 Nov 2, 2022
2f1e313
Update underscore to invalid comment list
joshuan98 Nov 2, 2022
a66e638
Fix checkstyle
joshuan98 Nov 2, 2022
78ca033
Merge pull request #189 from joshuan98/joshuan98-BugFixes
wangtingjia Nov 2, 2022
d026ad3
Add more JUnit tests for Ui
nshian Nov 2, 2022
9a91763
Update UG and DG to reflect change in Ui output
nshian Nov 2, 2022
bf88ac4
Merge pull request #190 from nshian/ianNg-Ui
alfred-leong Nov 2, 2022
715bf7c
Fix additional bugs for add command function
wangtingjia Nov 2, 2022
24e2304
Fix CI checkstyle
wangtingjia Nov 2, 2022
70e0994
Merge pull request #191 from wangtingjia/tingjia-BugResolver
nshian Nov 2, 2022
bbdd015
Add title and subtitles for PPP
joshuan98 Nov 2, 2022
95fc94a
Add product overview
joshuan98 Nov 2, 2022
d0c0a6f
Add link to code contributed
joshuan98 Nov 2, 2022
92cf32a
Fix bug for adding of comments
wangtingjia Nov 2, 2022
6a120b8
Fix CI checkstyle
wangtingjia Nov 2, 2022
3bdeacc
Merge branch 'master' of https://github.com/AY2223S1-CS2113-W13-2/tp …
wangtingjia Nov 2, 2022
58ff385
Merge pull request #192 from wangtingjia/tingjia-BugResolver
nshian Nov 2, 2022
9234c7c
Major change to storage method, store one uni list and one timetable …
alfred-leong Nov 2, 2022
a2c392a
Update TimetableManager to handle no timetables
nshian Nov 3, 2022
e3b51f4
Update the database enhancements implemented
joshuan98 Nov 3, 2022
96c0504
Add JUnit testing section
joshuan98 Nov 3, 2022
520ec70
Update list command enhancement implemented
joshuan98 Nov 3, 2022
552167a
Add testing enhancements
joshuan98 Nov 3, 2022
0e16ef5
Add contributions to UG and DG
joshuan98 Nov 3, 2022
71af3d2
Add contributions to team-based tasks
joshuan98 Nov 3, 2022
c1b7ea5
Add reviewing contributions
joshuan98 Nov 3, 2022
fbefb53
Update contributions beyond project team
joshuan98 Nov 3, 2022
e716897
Update README.md
joshuan98 Nov 3, 2022
5381026
Add PPP link to readme
joshuan98 Nov 3, 2022
902160f
Merge pull request #194 from joshuan98/joshuan98-PPP
nshian Nov 3, 2022
2c1c780
Merge branch 'master' of https://github.com/AY2223S1-CS2113-W13-2/tp …
alfred-leong Nov 3, 2022
22abf4c
Merge pull request #193 from nshian/ianNg-Timetable
joshuan98 Nov 3, 2022
0209313
Update link to make it clearer
joshuan98 Nov 3, 2022
a1215a0
Update ppp based on addressbook format
joshuan98 Nov 3, 2022
9d02fa0
Refactor ppp to follow addressbook format
joshuan98 Nov 3, 2022
233ed29
Merge pull request #195 from joshuan98/joshuan98-PPP
nshian Nov 3, 2022
b89c678
Add Ian's PPP
nshian Nov 3, 2022
ba50e09
Merge pull request #196 from nshian/ianNg-PPP
joshuan98 Nov 3, 2022
c4136aa
Update user guide for add command comment
joshuan98 Nov 3, 2022
9fc21c1
Update developer guide for add command comment
joshuan98 Nov 3, 2022
3269f6f
Update sequence diagrams for commands
joshuan98 Nov 3, 2022
32a5c49
Remove commented lines
joshuan98 Nov 3, 2022
871aa1d
Update PE dry run bugs found
joshuan98 Nov 4, 2022
e66fee6
Update portfolio ppp link
joshuan98 Nov 4, 2022
1f80db7
Merge pull request #197 from joshuan98/joshuan98-AddCommandCommentDoc…
nshian Nov 4, 2022
99aa02b
Add PPP
alfred-leong Nov 4, 2022
3248005
Merge pull request #198 from joshuan98/joshuan98-PPP
nshian Nov 4, 2022
a8fa45e
Merge pull request #199 from alfred-leong/alfred-PPP
nshian Nov 4, 2022
b4f4a64
Truncate PPP
nshian Nov 4, 2022
d5da7c9
Merge pull request #200 from nshian/ianNg-PPP
alfred-leong Nov 4, 2022
8a1feaa
Add table of contents
joshuan98 Nov 4, 2022
1b93210
Update dg table of contents links
joshuan98 Nov 4, 2022
0f83287
Update ug formatting
joshuan98 Nov 4, 2022
32d3be7
Truncate PPP further
nshian Nov 4, 2022
3b51e71
Refactor headers
joshuan98 Nov 4, 2022
864fd5c
Add testing and documentation sections
joshuan98 Nov 4, 2022
7a3e333
Add ug and dg extracts
joshuan98 Nov 4, 2022
7bd7fd5
Merge branch 'master' of https://github.com/AY2223S1-CS2113T-W13-2/tp…
nshian Nov 4, 2022
25f3fd0
Merge branch 'master' into joshuan98-PPP
joshuan98 Nov 4, 2022
8d24123
Merge pull request #201 from joshuan98/joshuan98-PPP
nshian Nov 4, 2022
4715471
Merge branch 'master' of https://github.com/AY2223S1-CS2113T-W13-2/tp…
nshian Nov 4, 2022
0aac4c0
Add PPP link
nshian Nov 4, 2022
826c0f2
Removed table of contents
joshuan98 Nov 4, 2022
9c1519b
Merge branch 'joshuan98-PPP' of https://github.com/joshuan98/tp into …
joshuan98 Nov 4, 2022
92bb511
Merge pull request #202 from nshian/ianNg-PPP
joshuan98 Nov 4, 2022
139e11f
Merge pull request #203 from joshuan98/joshuan98-PPP
nshian Nov 4, 2022
2d4e2f0
Remove Project Contribution header
joshuan98 Nov 4, 2022
1107399
Merge pull request #204 from joshuan98/joshuan98-PPP
nshian Nov 4, 2022
49b50d4
Add wangtingjia PPP
wangtingjia Nov 4, 2022
bc8625f
Merge branch 'master' of https://github.com/AY2223S1-CS2113-W13-2/tp …
wangtingjia Nov 4, 2022
636e050
Remove unnecessary function
wangtingjia Nov 4, 2022
966f0b5
Remove unused classes and text files
alfred-leong Nov 4, 2022
890ad12
Major change to UserStorage and UserStorageParser to store different …
alfred-leong Nov 4, 2022
fb0a3cc
Add JUnit tests for new UserStorage and UserStorageParser
alfred-leong Nov 4, 2022
f00225f
Merge pull request #205 from wangtingjia/master
joshuan98 Nov 4, 2022
b9d205b
FIx checkstyle
alfred-leong Nov 4, 2022
6bbeb97
Fix merge conflicts
alfred-leong Nov 4, 2022
6176f6e
Fix checkstyle
alfred-leong Nov 4, 2022
ce1cd0a
Fix checkstyle
alfred-leong Nov 4, 2022
39820d9
Fix checkstyle
alfred-leong Nov 4, 2022
1a387a8
Merge pull request #206 from alfred-leong/alfred-UserStorage
joshuan98 Nov 4, 2022
89e0702
Add PPP for ongzhihong
ongzhihong Nov 4, 2022
657be14
Merge pull request #207 from ongzhihong/ongzhihong-PPP
joshuan98 Nov 4, 2022
38e16e1
Update PPP
alfred-leong Nov 4, 2022
cad8bb4
Merge branch 'master' of https://github.com/AY2223S1-CS2113-W13-2/tp …
alfred-leong Nov 4, 2022
961eb7a
Update PPP
alfred-leong Nov 4, 2022
355d4b5
Update DG based on new implementation of user storage
alfred-leong Nov 4, 2022
986ea05
Merge pull request #208 from alfred-leong/alfred-DeveloperGuide
joshuan98 Nov 4, 2022
775ffd9
Update PPP
alfred-leong Nov 4, 2022
f55373e
Update AboutUs portfolio links
alfred-leong Nov 4, 2022
b398de9
Merge pull request #209 from alfred-leong/alfred-PPP
joshuan98 Nov 4, 2022
5fe089a
Update PPP
alfred-leong Nov 4, 2022
1759d7d
Fix test
alfred-leong Nov 4, 2022
aaf4013
Merge pull request #210 from alfred-leong/alfred-PPP
wangtingjia Nov 5, 2022
004074f
Updatet UML diagrams
wangtingjia Nov 5, 2022
4698b4c
Update UML sequence & class diagrams
wangtingjia Nov 5, 2022
b903b9f
Fix Ui bugs regarding comments
wangtingjia Nov 5, 2022
2151bf9
Update /help
wangtingjia Nov 5, 2022
006f648
Update User Guide
wangtingjia Nov 5, 2022
767b29c
Fix CI checkstyle
wangtingjia Nov 5, 2022
3338018
Fix CI checkstyle
wangtingjia Nov 5, 2022
292de1a
Fix CI checkstyle
wangtingjia Nov 5, 2022
e0e25ee
Merge pull request #211 from wangtingjia/tingjia-BugResolver
nshian Nov 5, 2022
2915e16
Update UML diagram
wangtingjia Nov 5, 2022
b734ea6
Merge branch 'master' of https://github.com/AY2223S1-CS2113-W13-2/tp …
wangtingjia Nov 5, 2022
ad0b3cc
Merge pull request #212 from wangtingjia/tingjia-BugResolver
nshian Nov 5, 2022
e81655c
Update sequence diagrams
nshian Nov 5, 2022
1df459f
Merge pull request #214 from nshian/ianNg-DeveloperGuide
wangtingjia Nov 5, 2022
c1f9ce5
Update UG to standardise with printing of help command
nshian Nov 5, 2022
234db06
Fix bugs regarding delete list and add/delete comment
alfred-leong Nov 5, 2022
0b8d943
Merge pull request #219 from nshian/ianNg-UserGuide
ongzhihong Nov 5, 2022
15c8d5c
Merge pull request #221 from alfred-leong/alfred-BugFixer
ongzhihong Nov 5, 2022
81c2f97
Standardise printing of error messages
nshian Nov 5, 2022
bbc9b88
Fix bugs regarding tampering storage file
alfred-leong Nov 5, 2022
8c158de
Merge pull request #223 from nshian/ianNg-Ui
alfred-leong Nov 5, 2022
3e47b9f
Create architecture diagram
joshuan98 Nov 5, 2022
8f73a01
Update developer guide
joshuan98 Nov 5, 2022
66eb1ec
Fix checkstyle
alfred-leong Nov 5, 2022
3730e53
Add instructions for manual testing to dg
joshuan98 Nov 5, 2022
06649f7
Add explanation for database design in dg
joshuan98 Nov 5, 2022
2679de8
Fix add comment bug
wangtingjia Nov 5, 2022
7a4177a
Simplify database class diagram
joshuan98 Nov 5, 2022
bfcdff1
Update database sequence diagram
joshuan98 Nov 5, 2022
474586b
Fix CI checkstyle
wangtingjia Nov 5, 2022
0cbdc71
Merge pull request #225 from wangtingjia/tingjia-BugResolver
nshian Nov 5, 2022
c4468f7
Update list command sequence diagram
joshuan98 Nov 5, 2022
adb9b1e
Export list command image
joshuan98 Nov 5, 2022
a224815
Update UserStorageTest
alfred-leong Nov 5, 2022
5dda76e
Fix add comment bug
wangtingjia Nov 5, 2022
2b92f41
Merge branch 'master' of https://github.com/AY2223S1-CS2113-W13-2/tp …
wangtingjia Nov 5, 2022
7a760d1
Merge pull request #226 from joshuan98/joshuan98-Documentation
wangtingjia Nov 5, 2022
a4b16cc
Merge pull request #227 from wangtingjia/tingjia-BugResolver
joshuan98 Nov 5, 2022
792b0e4
Fix bugs
alfred-leong Nov 5, 2022
9fad1cd
Add JUnit tests
alfred-leong Nov 5, 2022
ae2a74e
Fix checkstyle
alfred-leong Nov 5, 2022
310c9a1
Merge branch 'master' of https://github.com/AY2223S1-CS2113-W13-2/tp …
alfred-leong Nov 5, 2022
15eda3c
Merge pull request #224 from alfred-leong/alfred-BugFixer
joshuan98 Nov 5, 2022
af5b9d5
Remove check for if database exists locally
joshuan98 Nov 5, 2022
0ea489f
Add JUnit Tests
alfred-leong Nov 5, 2022
bd95721
Resolve merge conflicts
alfred-leong Nov 5, 2022
c319a9c
Add JUnit tests
alfred-leong Nov 5, 2022
791e823
Add JUnit tests
alfred-leong Nov 5, 2022
210aad4
Add check for unique module mapping
joshuan98 Nov 5, 2022
1ba19fb
Remove duplicates in data.csv
joshuan98 Nov 5, 2022
7b00f74
Update isNewUniversity
joshuan98 Nov 5, 2022
4463a67
Fix checkstyle
alfred-leong Nov 5, 2022
9f7931f
Merge pull request #228 from joshuan98/joshuan98-DatabaseDownload
alfred-leong Nov 5, 2022
0f9d906
Add javadoc comments
joshuan98 Nov 5, 2022
2d4081f
Merge pull request #229 from alfred-leong/alfred-UserStorage
joshuan98 Nov 5, 2022
bbc7513
Update Alfred PPP
alfred-leong Nov 5, 2022
aef412c
Merge branch 'master' of https://github.com/AY2223S1-CS2113-W13-2/tp …
alfred-leong Nov 5, 2022
2df0c0a
Update database sequence diagram
joshuan98 Nov 5, 2022
9007e6b
Update PPP
alfred-leong Nov 5, 2022
098170f
Update database test
joshuan98 Nov 5, 2022
2353896
Merge pull request #231 from alfred-leong/alfred-PPP
nshian Nov 5, 2022
5fde720
Update Example University.txt
alfred-leong Nov 5, 2022
03fb373
Merge pull request #230 from joshuan98/joshuan98-UniqueDatabase
ongzhihong Nov 5, 2022
8f5e0d3
Merge branch 'master' of https://github.com/AY2223S1-CS2113-W13-2/tp …
alfred-leong Nov 5, 2022
3041a3e
Merge branch 'master' of https://github.com/AY2223S1-CS2113-W13-2/tp …
alfred-leong Nov 5, 2022
a4b8e46
Merge pull request #232 from alfred-leong/alfred-DeveloperGuide
ongzhihong Nov 5, 2022
f16a923
Merge pull request #233 from alfred-leong/alfred-PPP
ongzhihong Nov 5, 2022
478646b
Shift data.csv to within duke dir
joshuan98 Nov 6, 2022
ef605c7
Update build.gradle
joshuan98 Nov 6, 2022
9bb0711
Update scanner to buffered reader
joshuan98 Nov 6, 2022
32450ff
Remove commented lines
joshuan98 Nov 6, 2022
4abc57d
Refactor createDatabase
joshuan98 Nov 6, 2022
3d2ced8
Update class and sequence diagrams for database
joshuan98 Nov 6, 2022
b6eb5e0
Add assertion for Commands
ongzhihong Nov 6, 2022
25601eb
Merge pull request #235 from ongzhihong/ongzhihong-Commands
alfred-leong Nov 6, 2022
8fa427e
Improve Ui experience
wangtingjia Nov 6, 2022
7976e30
Merge branch 'master' of https://github.com/AY2223S1-CS2113-W13-2/tp …
wangtingjia Nov 6, 2022
2cc7bd2
Add Junit tests for comments
wangtingjia Nov 6, 2022
1139983
Add logger
wangtingjia Nov 6, 2022
bc4812e
Update UG & DG
wangtingjia Nov 6, 2022
29fc387
Fix CI checkstyle
wangtingjia Nov 6, 2022
7c2cad1
Fix CI checkstyle
wangtingjia Nov 6, 2022
141f341
Update wangtingjia PPP
wangtingjia Nov 6, 2022
79ce3eb
Merge pull request #236 from wangtingjia/tingjia-BugResolver
nshian Nov 6, 2022
0a57489
Update UserStorageTest.java
joshuan98 Nov 6, 2022
38e6f1d
Merge pull request #234 from joshuan98/joshuan98-DatabaseInJar
nshian Nov 6, 2022
e226623
Remove PPP extracts
joshuan98 Nov 6, 2022
f7e161a
Merge pull request #237 from joshuan98/joshuan98-PPP
alfred-leong Nov 6, 2022
ff2ec17
Update list command class diagram for abstract
joshuan98 Nov 6, 2022
cdefd73
Update DG for sequence diagrams
alfred-leong Nov 6, 2022
7185092
Update example link
alfred-leong Nov 6, 2022
054b909
Update DG and sequence diagrams
wangtingjia Nov 6, 2022
0676318
Merge branch 'master' of https://github.com/AY2223S1-CS2113-W13-2/tp …
wangtingjia Nov 6, 2022
28c7ab3
Merge pull request #239 from wangtingjia/tingjia-BugResolver
alfred-leong Nov 6, 2022
178b5ef
Merge pull request #238 from joshuan98/joshuan98-Documentation
alfred-leong Nov 6, 2022
8269ec3
Update headers in DG to follow specifications
alfred-leong Nov 6, 2022
17d26c2
Merge branch 'master' of https://github.com/AY2223S1-CS2113-W13-2/tp …
alfred-leong Nov 6, 2022
5b6889f
Update User Storage description in DG
alfred-leong Nov 6, 2022
a479cca
Merge pull request #240 from alfred-leong/alfred-DeveloperGuide
joshuan98 Nov 6, 2022
aca36fd
Fix bugs for links
alfred-leong Nov 6, 2022
33cc4bd
Fix bugs
alfred-leong Nov 6, 2022
2afca23
Merge pull request #241 from alfred-leong/alfred-DeveloperGuide
joshuan98 Nov 6, 2022
e865cac
Fix bugs
alfred-leong Nov 6, 2022
2220220
Merge pull request #242 from alfred-leong/alfred-DeveloperGuide
nshian Nov 6, 2022
966963e
Update DG
wangtingjia Nov 7, 2022
46253de
Update UG
wangtingjia Nov 7, 2022
4784cee
Merge pull request #243 from wangtingjia/tingjia-BugResolver
nshian Nov 7, 2022
cf0f62a
Update UG
wangtingjia Nov 7, 2022
7dad0c7
Update PPP
wangtingjia Nov 7, 2022
d7b0f0e
Merge pull request #244 from wangtingjia/tingjia-BugResolver
nshian Nov 7, 2022
f750525
Update wangtingjia PPP
wangtingjia Nov 7, 2022
e04f3bf
Merge branch 'master' of https://github.com/AY2223S1-CS2113-W13-2/tp …
wangtingjia Nov 7, 2022
f32982b
Merge pull request #245 from wangtingjia/tingjia-BugResolver
wangtingjia Nov 7, 2022
54c6c37
Update wangtingjia PPP
wangtingjia Nov 7, 2022
a080de8
Merge branch 'master' of https://github.com/AY2223S1-CS2113-W13-2/tp …
wangtingjia Nov 7, 2022
3df1662
Merge pull request #246 from wangtingjia/tingjia-BugResolver
wangtingjia Nov 7, 2022
201d0c0
Update ongzhihong's PPP
ongzhihong Nov 7, 2022
bad9620
Merge pull request #247 from ongzhihong/ongzhihong-PPP
nshian Nov 7, 2022
25d5f6a
Fix bug when user deletes data directory
ongzhihong Nov 7, 2022
3a187e6
Merge pull request #248 from ongzhihong/ongzhihong-BugFix
alfred-leong Nov 7, 2022
0c99ce2
Update Sequence Diagrams
ongzhihong Nov 7, 2022
99b07e2
Merge pull request #249 from ongzhihong/ongzhihong-DeveloperGuide
alfred-leong Nov 7, 2022
c64d45d
Update ongzhihong's PPP
ongzhihong Nov 7, 2022
272e1c1
Merge pull request #250 from ongzhihong/ongzhihong-PPP
alfred-leong Nov 7, 2022
35d1e6c
Update dg and ug
joshuan98 Nov 7, 2022
4b97714
Update dg
joshuan98 Nov 7, 2022
8e64cef
Update ongzhihong.md
joshuan98 Nov 7, 2022
d92ab8c
Merge pull request #251 from joshuan98/joshuan98-DocumentationUpdates
ongzhihong Nov 7, 2022
856b5ee
Update UserGuide.md
joshuan98 Nov 7, 2022
08408cd
Merge pull request #252 from joshuan98/joshuan98-DocumentationUpdates
nshian Nov 7, 2022
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
18 changes: 1 addition & 17 deletions .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,20 +31,4 @@ jobs:
java-package: jdk+fx

- name: Build and check with Gradle
run: ./gradlew check

- name: Perform IO redirection test (*NIX)
if: runner.os == 'Linux'
working-directory: ${{ github.workspace }}/text-ui-test
run: ./runtest.sh

- name: Perform IO redirection test (MacOS)
if: always() && runner.os == 'macOS'
working-directory: ${{ github.workspace }}/text-ui-test
run: ./runtest.sh

- name: Perform IO redirection test (Windows)
if: always() && runner.os == 'Windows'
working-directory: ${{ github.workspace }}/text-ui-test
shell: cmd
run: runtest.bat
run: ./gradlew check
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"java.configuration.updateBuildConfiguration": "interactive"
}
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
}
2,616 changes: 2,616 additions & 0 deletions data/data.csv

Large diffs are not rendered by default.

5 changes: 5 additions & 0 deletions data/timetable_info.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Hanyang University%
CSE1002;Introduction to computer science;3;nil;wednesday;15:00;16:00%
/Boston University%
CS103;Introduction to Internet Technologies and Web Programming;3;nil;tuesday;11:00;12:00%
MET CS 248;Discrete Mathematics;3;nil;monday;11:00;12:00%
7 changes: 7 additions & 0 deletions data/uni_info.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Hanyang University%
null%
F%
/Boston University%
null%
F%
CS103;Introduction to Internet Technologies and Web Programming;3;IT1001;Introduction to Computing;4%
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://media-exp1.licdn.com/dms/image/C4D03AQEgXrNsrc1T3Q/profile-displayphoto-shrink_800_800/0/1663228347339?e=1669852800&v=beta&t=V0fWQzHp9qeiD3inauUaj8j2CE8MFb_5w_aS7rKcDnM) | Ong Zhi Hong | [Github](https://github.com/helpdesk1234) | [Portfolio](linkedin.com/in/ongzhihong)
![](https://media-exp1.licdn.com/dms/image/C4E03AQE7jtNsKd_Xfw/profile-displayphoto-shrink_400_400/0/1624762372701?e=1669852800&v=beta&t=hG6aMZLrJhR26UK6dG2t-ny3KwweUpADecBZ2PCmVaI) | Ian Ng | [Github](https://github.com/nshian) | [Portfolio](https://www.linkedin.com/in/nshian)
![](https://media-exp1.licdn.com/dms/image/C4D03AQGrNtCeeZuPFw/profile-displayphoto-shrink_400_400/0/1627723547221?e=1669852800&v=beta&t=7MpIteNzXKn5Cy-ULFFujM7s6dTh_WmZtDf_aRHdcmg) | Wang Tingjia | [Github](https://github.com/wangtingjia) | [Portfolio](https://www.linkedin.com/in/wangtingjia/)
![](https://media-exp1.licdn.com/dms/image/C4D03AQHBjtXDwKhQtA/profile-displayphoto-shrink_400_400/0/1644541255922?e=1669852800&v=beta&t=lBU1v97NFzzNXTHWtztnBqViqdcBnUz4CWmY19n9hhI) | Alfred | [Github](https://github.com/alfred-leong) | [Portfolio](https://www.linkedin.com/in/alfred-leong/)
![](https://via.placeholder.com/100.png?text=Photo) | Joshua Nee | [Github](https://github.com/joshuan98) | [Portfolio](docs/team/johndoe.md)
191 changes: 186 additions & 5 deletions docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,189 @@

{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.

Hello! There isn't an introduction on what your application is about :/
As well as any acknowledgement is missing as well.

Choose a reason for hiding this comment

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

You can actually omit this line :)


### Database

The database reads in SEP module data from data.csv and stores the useful data into an ArrayList of module mappings and universities.

Upon starting easySEP, the DatabaseStorage will load each line from data.csv, parse the line using DatabaseParser, and store the data into the Database.

Relevant exceptions are thrown when there are unexpected scenarios. For instance, if data.csv cannot be found at the given file path, a FileNotFoundException is thrown.
Copy link

@chydarren chydarren Oct 26, 2022

Choose a reason for hiding this comment

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

You may consider putting data.csv in a code block, e.g. data.csv so that it helps to enhance the readability / highlight the importance of the file?


The following diagram illustrates the relationships between the three main database classes - DatabaseStorage, DatabaseParser, and Database.

![Database Class Diagram](./images/Database_Class.png)
Copy link

Choose a reason for hiding this comment

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

Consider changing from square bullets to '+' and '-' to show public and private methods
image

Choose a reason for hiding this comment

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

image

Can consider removing the circle C symbol as it is not the standard textbook convention taught to us.

Choose a reason for hiding this comment

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

Good that the multiplicity and directionality are all included!


The following diagram illustrates the flow of the program, from the initial loadDatabase call to the eventual completion of updating the entire database.

![Database Sequence Diagram](./images/Database_Sequence.png)

Choose a reason for hiding this comment

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

image

Is the activation bar suppose for DatabaseStorage suppose to start?


### User Storage

User Storage stores 2 different user information. University list is a list of interested universities for SEP
and it is stored in a text file ("data/uni_info.txt"). For each university in the list, information includes
Partner University's name, country, list of modules and their corresponding information. It also records whether the
user previously added the particular university in the favourites list. Timetable list is a list of timetables
for universities that the user is interested in and it is stored in a text file ("data/timetable_info.txt"). For each
timetable in the list, information includes Partner University's name, country, module information and lesson timings.

Upon starting easySEP, the UserStorage class will take in information from both text files and convert them into Strings.
UserStorageParser will create a new UserUniversityListManager, by converting the String into a HashMap<String, UserUniversityList>
which serves as myManager for the UserUniversityListManager class. UserStorageParser will also create a new TimetableManager,
and add lessons to the TimetableManager, using the String extracted from the text file.

Relevant exceptions are thrown when there are unexpected scenarios. For example, if the data in the text file is stored in an invalid format,
an InvalidUserStorageFileException will be thrown.

During the duration of the program, whenever the user decides to alter the data corresponding to UserUniversityListManager
(ie. add / delete universities or modules, or create new university list), UserStorageParser class will update "data/uni_info.txt" accordingly.
Similarly, whenever the user decides to alter the data corresponding to TimetableManager (ie. add / delete lessons), UserStorageParser class will update
"data/timetable_info.txt" accordingly. This is achieved by converting UserUniversityListManager / TimetableManager into a String,
before saving it in the text file.

The following diagram illustrates the relationships between the two main user storage classes - UserStorage and UserStorageParser.

![User Storage Class Diagram](./images/UserStorage_Class.png)

Choose a reason for hiding this comment

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

Great detailed class diagram that gives an overview of the functions in the parser. To aid readability and understanding, maybe you might want to reduce the functions that are shown in the diagram and show the more important ones instead?

Copy link

Choose a reason for hiding this comment

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

Consider removing the C next to your class names for class diagrams
image

Copy link

Choose a reason for hiding this comment

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

Class diagrams are nice with additional information on the navigability


The following diagram illustrates the flow of the program, from initialisation to updating of the text file.

![User Storage Sequence Diagram](./images/UserStorage_Sequence.png)

Choose a reason for hiding this comment

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

Nice diagrams!!!

Choose a reason for hiding this comment

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

I like how there are separate dividers in the sequence diagram, i.e. Initialization and Getting User Input to demarcate the purpose very clearly. Nice!


### Timetable

Upon starting easySEP, a TimetableManager is created in preparation for users to begin adding Timetables. The TimetableManager is used to create new Timetables, manage existing Timetables and delete old Timetables.
These Timetables are stored in a HashMap and indexed by university name to facilitate easy reference.

For existing Timetables, they can be used to add and delete Lessons. Each Timetable is made up of a HashMap of ArrayLists(type: Lesson) indexed by weekday e.g. Monday for easy compartmentalisation.
Within Timetables, Lessons will compromise details like the day, start time and end time. The ArrayLists(type: Lesson) are sorted in non-descending order by the start time of the Lessons.

Relevant exceptions are thrown when unanticipated scenarios occur. For instance, if the user attempts to delete a non-existent Timetable, a TimetableNotFoundException is thrown.
Another example is the user attempting to add a lesson that is conflicting with an existing lesson in his/her timetable. In this case, a TimetableClashException is thrown.

The following diagram illustrates the relationships between the three main timetable classes - TimetableManager, Timetable and Lesson.

![Timetable Class Diagram](./images/Timetable_Class.png)

In chronological order, the following diagrams illustrate the flow of the program for adding lessons, deleting lessons and displaying timetables to the user.

Choose a reason for hiding this comment

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

All 3 class diagrams are well explained and focused on the main flow.


![Timetable Add Lesson Sequence Diagram](./images/Timetable_addLesson_Sequence.png)

Choose a reason for hiding this comment

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

Detailed and clear diagram. Perhaps might want to put the isValidDay(), isValidStartTime() etc in a combined ref rather than showing all on the diagram as these are trivial functions.

Choose a reason for hiding this comment

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

Is there a missing return variable for the getUniversity() call for both the addLesson() and deleteLesson() sequence diagrams?
image

![Timetable Delete Lesson Sequence Diagram](./images/Timetable_deleteLesson_Sequence.png)
![Timetable Print Timetable Sequence Diagram](./images/Timetable_printTimetable_Sequence.png)

### Delete History

To help users recall the modules that they had recently deleted, the Delete History feature allows them to view up to 5 most
recently deleted module mappings. This can help them to add the module mappings back to the lists without having to search for the specific
module code again.

The UserDeletedModules class has an ArrayDeque, which stores the recently deleted module mappings.
When the user deletes a module mapping, it will be added to the ArrayDeque.
If the ArrayDeque already contains 5 module mappings, the last one (least recent) will be deleted, before the addition of a new module mapping.
Do note that delete history information is not stored upon exiting the app (ie. it is not stored in User Storage).

The following diagram illustrates the relationship between UserUniversityListManager and UserDeletedModules classes.

![User Deleted Modules Class Diagram](./images/UserDeletedModules_Class.png)

The following diagram illustrates the flow of the program, when a user deletes a module.

![User Deleted Modules Sequence Diagram](./images/UserDeletedModules_Sequence.png)

### Ui

The Ui class is the cornerstone of the Duke program to facilitate interaction with the user. It is used to scan and collect user input, print error messages to the user upon invalid input commands,
and display the appropriate acknowledgements or required information based on the user's command.

The following diagram illustrates the methods within the Ui class that can be invoked by the other classes in Duke for the purpose of user interaction.

Choose a reason for hiding this comment

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

Nice looking class diagram with clearly written functions. I think you might want to consider adding like how the class is connected to other classes in the application, rather than showing it as a standalone UI class on its own


![Ui Class Diagram](./images/Ui_Class.png)

### Commands

To interact with easySEP, users have to input commands specified with parameters to perform operations which will be passed to the CommandParser to generate a corresponding Command according to their input.
The Command will then be executed to perform the operation on the other classes managing the timetables and databases. Error checking is handled to throw InvalidUserCommandException if the user's input does not match
the specified Command format. To deal with parsing parameters, spaces in University names and Module codes are to be replaced with underscores.

The following class diagram illustrates the relationship between Command class and its subclasses as well as other classes related to Commands.
![Command Class Diagram](./images/Command_class.png)

Choose a reason for hiding this comment

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

Your command class diagram is not rendered on the website view (https://ay2223s1-cs2113-w13-2.github.io/tp/DeveloperGuide.html), might want to look into this


#### Create Command

A Create command can be used to create a university list and its corresponding timetable.

The following sequence diagram illustrates the relationship between the respective classes involved in the creation and execution of a create command.

![Create Command Sequence Diagram](./images/CreateCommand_Sequence.png)

#### Exit Command

An Exit command can be used to exit the application.

The following sequence diagram illustrates the relationship between the respective classes involved in the creation and execution of an exit command.

![Exit Command Sequence Diagram](./images/ExitCommand_Sequence.png)

#### Help Command

Choose a reason for hiding this comment

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

(For all the command classes) Please write more explanation to support the diagrams rather than the short one to three sentences!

A Help command can be used to exit the application.

The following sequence diagram illustrates the relationship between the respective classes involved in the creation and execution of a help command.

![Help Command Sequence Diagram](./images/HelpCommand_Sequence.png)

Choose a reason for hiding this comment

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

You are missing columns in your sequence diagram as UI, database, etc. are objects

#### Add Command

An add command can be used to add a lesson to the timetable or add a module mapping to the user university list.

The following sequence diagram illustrates the relationship between the respective classes involved in the creation and execution of an add command.

![Add Command Sequence Diagram](./images/AddCommand_Sequence.png)

Choose a reason for hiding this comment

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

You might want to take separate screenshots as the sequence is huge and is not really readable.

Copy link

Choose a reason for hiding this comment

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

consider using reference frames for your sequence diagrams to help you break down your sequence diagrams

Choose a reason for hiding this comment

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

You may wish to consider removing the trivial functions from the sequence diagram so that more emphasis is placed on the important functions, and help improve readability of your diagram.

Choose a reason for hiding this comment

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

Consider abstracting and explaining only the logic of the add command. The interaction with Duke class could be excluded and explain in an overall sequence diagram before all the command class.


#### Delete Command

A delete command can be used to delete a lesson from the timetable, delete a module mapping from the user university list or delete an entire user created university list.

The following sequence diagram illustrates the relationship between the respective classes involved in the creation and execution of a delete command.

![Delete Command Sequence Diagram](./images/DeleteCommand_Sequence.png)

Choose a reason for hiding this comment

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

You may consider adding \n to very long texts in the diagram to avoid the long text for prolonging the the diagram. It would be more readable this way.


#### View Command

A view command can be used to view all user created university lists, view user's delete history, view user's selected university list or view all the user's created university lists' timetables.

The following sequence diagram illustrates the relationship between the respective classes involved in the creation and execution of a view command.

![View Command Sequence Diagram](./images/ViewCommand_Sequence.png)

#### List Command

A list command can be used to display all the module mappings in the database, all the universities in the database, or allow users to filter by NUS module code or partner university name.

The following class diagram illustrates the relationship between the respective classes involved in the creation and execution of a list command.

Choose a reason for hiding this comment

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

Nice graph! Can add more labels to the graph so that the graph is clearer

![List Command Class Diagram](./images/ListCommand_Class.png)

Choose a reason for hiding this comment

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

I like that there is an enum class shown together with the other classes to reinforce how the whole feature works all-together. Nice!

Choose a reason for hiding this comment

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

I noticed that the Command class is an abstract class. Would it be better to add annotations to label it as an abstract class? (e.g. {abstract})

image


To differentiate between the various functions of the list command, a variable `listOption` is used. This variable signals Duke to execute the relevant commands accordingly.

The following sequence diagram illustrates the flow of the program to read in the user input, parse the user input, check if it is a valid list command, and execute the relevant list command based on the `listOption`.

![List Command Sequence Diagram](./images/ListCommand_Sequence.png)

#### Favourite Command

A favourite command can be used by the user to favourite or un-favourite lists of module mappings that they have curated. It can also be used to display all of the user's favourite lists and the module mappings they contain.

To differentiate between the various functions of the favourite command, a variable `favouriteOption` is used. This variable signals Duke to execute the relevant commands accordingly.

The following class diagram illustrates the relationship between the respective classes involved in the creation and execution of a favourite command.

![Favourite Command Class Diagram](./images/FavouriteCommand_Class.png)

Choose a reason for hiding this comment

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

As we are not taught to use the circle bubbles in the diagrams, which I think it really makes the diagram more clear, you do however might want to consider taking the bubbles away?


The following sequence diagram illustrates the flow of the program to read in the user input, parse the user input, check if it is a valid favourite command, and execute the relevant favourite command.

![Favourite Command Sequence Diagram](./images/FavouriteCommand_Sequence.png)

## Product scope

Choose a reason for hiding this comment

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

Don't forget to add this in!!

### Target user profile

{Describe the target user profile}
Expand All @@ -20,18 +201,18 @@

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

## Non-Functional Requirements

{Give non-functional requirements}

## Glossary

* *glossary item* - Definition
- _glossary item_ - Definition

## Instructions for manual testing

Choose a reason for hiding this comment

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

I am unsure if you missed this section or decided not to do it, as it is empty. Consider deleting it if you don't need it.

Expand Down
Loading