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-3] EventManagerCLI #7

Open
wants to merge 849 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
849 commits
Select commit Hold shift + click to select a range
c0d4d92
Merge pull request #161 from KuanHsienn/Code-Flow
jemehgoh Nov 5, 2024
3e9c624
Update kuanhsienn.md
KuanHsienn Nov 5, 2024
ec57e67
Update kuanhsienn.md
KuanHsienn Nov 5, 2024
96e337b
Add Javadocs for getParticipants and getItems method
jemehgoh Nov 5, 2024
76702ce
Merge branch 'master' into command-javadoc
jemehgoh Nov 5, 2024
a3dfa13
Consolidate index out of bounds exception handling
jemehgoh Nov 5, 2024
facc333
Update UserGuide.md
KuanHsienn Nov 5, 2024
bb1b843
Update MenuCommand.java
KuanHsienn Nov 5, 2024
904592e
Update EXPECTED.TXT
KuanHsienn Nov 5, 2024
78e6402
Update EXPECTED.TXT
KuanHsienn Nov 5, 2024
7c29014
add some detailed information
Nov 5, 2024
d66b9d7
add some details
Nov 5, 2024
24ceec5
Merge branch 'master' into UG-Edit
MatchaRRR Nov 5, 2024
915c42c
Merge pull request #155 from MatchaRRR/UG-Edit
MatchaRRR Nov 5, 2024
ccf7db6
Update Javadocs
jemehgoh Nov 5, 2024
aa0ab83
Move date-time and priority exception handling up to parseCommand
jemehgoh Nov 5, 2024
10659b9
Extract magic strings from mark command
jemehgoh Nov 5, 2024
62b92ea
Update shadowJar name in line with manual testing
jemehgoh Nov 5, 2024
8e53e66
Edit method names for filtering by name
glenn-chew Nov 5, 2024
50a61e7
Update developer guide with updated filter command
glenn-chew Nov 5, 2024
844b002
Update user guide with updated filter command
glenn-chew Nov 5, 2024
584d062
Edit order of declared variables
glenn-chew Nov 5, 2024
0ad5fab
Merge pull request #154 from MatchaRRR/DG_diagram
jemehgoh Nov 5, 2024
29639b3
Merge pull request #164 from glenn-chew/FilterBranch
jemehgoh Nov 5, 2024
7fba40b
Fix user guide bugs
jemehgoh Nov 6, 2024
23dd6d5
Fix UG and diagram bugs
jemehgoh Nov 6, 2024
f8a8d22
Add table of contents to DG
jemehgoh Nov 6, 2024
e8700ad
Add table of contents to UG
jemehgoh Nov 6, 2024
e62cbd5
Update PPP
jemehgoh Nov 6, 2024
5d34384
PPP
Nov 6, 2024
9522608
Merge pull request #166 from MatchaRRR/PPP
jemehgoh Nov 6, 2024
62f5115
Update PPP
glenn-chew Nov 6, 2024
cc24e30
Merge branch 'master' of https://github.com/AY2425S1-CS2113-W13-3/tp …
glenn-chew Nov 6, 2024
75b5ba4
Merge pull request #167 from glenn-chew/PPP
jemehgoh Nov 6, 2024
744c611
Fix class diagram bugs
jemehgoh Nov 6, 2024
7aa520f
Merge pull request #162 from jemehgoh/command-javadoc
jemehgoh Nov 6, 2024
e76cea5
Merge pull request #163 from jemehgoh/parser-error-handling
jemehgoh Nov 6, 2024
1fb9a7c
Merge pull request #165 from jemehgoh/docs-fix
jemehgoh Nov 6, 2024
3181caa
Change DG appendix titles to align with requirements
jemehgoh Nov 6, 2024
0ee476b
Merge pull request #168 from jemehgoh/dg-title-fix
jemehgoh Nov 6, 2024
8e8ee21
Update UserGuide.md
KuanHsienn Nov 6, 2024
5a7707d
Update DeveloperGuide.md
KuanHsienn Nov 6, 2024
4d717da
Update UserGuide.md
KuanHsienn Nov 6, 2024
b4bd909
Update DeveloperGuide.md
KuanHsienn Nov 6, 2024
3a1f4be
Update UserGuide.md
KuanHsienn Nov 6, 2024
8621f12
Update DeveloperGuide.md
KuanHsienn Nov 6, 2024
a4cb509
Update DeveloperGuide.md
KuanHsienn Nov 6, 2024
0b93d14
Update DeveloperGuide.md
KuanHsienn Nov 6, 2024
c5486d0
Update DeveloperGuide.md
KuanHsienn Nov 6, 2024
9c23935
Update DeveloperGuide.md
KuanHsienn Nov 6, 2024
6fcffc0
Update DeveloperGuide.md
KuanHsienn Nov 6, 2024
cf814fd
Update DeveloperGuide.md
KuanHsienn Nov 6, 2024
a894a75
Update DeveloperGuide.md
KuanHsienn Nov 6, 2024
6119e1a
Update DeveloperGuide.md
KuanHsienn Nov 6, 2024
0657ab9
Update DeveloperGuide.md
KuanHsienn Nov 6, 2024
e82ce11
Update DeveloperGuide.md
KuanHsienn Nov 6, 2024
0cdb059
Fix DG list bug
jemehgoh Nov 6, 2024
c600037
Merge pull request #169 from jemehgoh/ug-fix-0
jemehgoh Nov 6, 2024
406eef9
Fix numbering in Developer Guide
jemehgoh Nov 6, 2024
a4bb047
Merge branch 'master' into dg-fix-1
jemehgoh Nov 6, 2024
c2b98cd
Merge pull request #170 from jemehgoh/dg-fix-1
jemehgoh Nov 6, 2024
2fc6dea
Remove placeholder PPP
jemehgoh Nov 6, 2024
2662a56
Merge pull request #171 from jemehgoh/remove-placeholder
jemehgoh Nov 6, 2024
ba860c1
Update home page
jemehgoh Nov 7, 2024
3d624e4
Update CopyCommand
LTK-1606 Nov 7, 2024
275bb4e
Update edit error message
LTK-1606 Nov 7, 2024
6529cda
Merge pull request #172 from LTK-1606/BugFix
jemehgoh Nov 7, 2024
95a6a72
Merge branch 'master' into copy-fix
jemehgoh Nov 7, 2024
cb54211
Fix copy command bug
jemehgoh Nov 7, 2024
724e22d
Merge pull request #173 from jemehgoh/copy-fix
jemehgoh Nov 7, 2024
5117e05
Update all regex and parse command methods
LTK-1606 Nov 8, 2024
e7d1f3d
Add function to check for duplicate flags
LTK-1606 Nov 8, 2024
6948dd6
Update EMAIL_PATTERN Regex
LTK-1606 Nov 8, 2024
b9a25da
Enable program to read and output other languages
KuanHsienn Nov 8, 2024
0411672
Add unicode to saving and loading files
KuanHsienn Nov 9, 2024
23b1246
Edit user error message
KuanHsienn Nov 9, 2024
739bd8b
Edit expected text file
KuanHsienn Nov 9, 2024
a1fd668
Update user guide based on PE-D bug reports
jemehgoh Nov 9, 2024
ba4860e
Update storage test
KuanHsienn Nov 9, 2024
562ffd1
Update section titles to use the present participle
jemehgoh Nov 9, 2024
3bae176
Update menu command with correct add item description
jemehgoh Nov 9, 2024
5913133
Merge pull request #235 from KuanHsienn/master
jemehgoh Nov 9, 2024
b7fae6c
Change EMAIL_PATTERN according to review
LTK-1606 Nov 9, 2024
ce754b7
Fix incorrect filename for data.txt
jemehgoh Nov 9, 2024
26fb6f0
Add empty input conditional check
LTK-1606 Nov 9, 2024
36c6e6e
Merge pull request #240 from jemehgoh/storage-filename-bugfix
KuanHsienn Nov 9, 2024
fdc13dd
Update contents page and section headers of UG
jemehgoh Nov 9, 2024
869ad16
Consolidate sections for different mark command types into one section
jemehgoh Nov 9, 2024
bfc8f07
Fix type in markEvent command
LTK-1606 Nov 9, 2024
5a3c93b
Update sort by name method
LTK-1606 Nov 9, 2024
da47193
Merge pull request #234 from LTK-1606/UpdateParser
KuanHsienn Nov 9, 2024
ee4e554
Merge pull request #175 from jemehgoh/product-website
LTK-1606 Nov 9, 2024
54d25ce
Merge pull request #241 from LTK-1606/FixSort
MatchaRRR Nov 9, 2024
3fdf0ef
Merge pull request #239 from jemehgoh/user-guide-ped-fixes
KuanHsienn Nov 9, 2024
a9606ef
Update DG as per PE-D bug reports
jemehgoh Nov 9, 2024
fa26569
Remove participant phone number
KuanHsienn Nov 9, 2024
c455461
Update parser logger to log to file
jemehgoh Nov 9, 2024
b16604c
Update file parser logger to log to file
jemehgoh Nov 9, 2024
66c7902
Modify file parser to log to one file
jemehgoh Nov 9, 2024
8af1e92
Update parser to support logging to one file
jemehgoh Nov 9, 2024
6ba17ef
Update .gitignore
jemehgoh Nov 9, 2024
dc0ab9a
Update FileParser to support appending log messages to one file
jemehgoh Nov 9, 2024
28bddf1
Merge branch 'master' into file-logging
jemehgoh Nov 9, 2024
25736e5
Add Javadocs and make happy path more prominent for mark methods
jemehgoh Nov 9, 2024
b91dffd
Merge branch 'master' into developer-guide-ped-bugfix
jemehgoh Nov 9, 2024
cd5b4af
Update copy command to reset participant mark status
jemehgoh Nov 9, 2024
69ee7ad
Update UG to reflect new functionality
jemehgoh Nov 9, 2024
0abaeda
Update duplicate event, participant and item handling
jemehgoh Nov 10, 2024
f643eed
Update JUnit tests
jemehgoh Nov 10, 2024
8ae0b6e
Remove unused DuplicateDataException
jemehgoh Nov 10, 2024
1371cbd
Update UG to reflect new functionality
jemehgoh Nov 10, 2024
3d52b9d
Update I/O redirection test
jemehgoh Nov 10, 2024
5d4e852
Update I/O redirection tests
jemehgoh Nov 10, 2024
38ac205
Update file name and add copy list overwrite test case
jemehgoh Nov 10, 2024
7bb9358
Merge pull request #244 from jemehgoh/copy-file-fix
KuanHsienn Nov 10, 2024
8c8279c
Amend parser description to reflect functionality change
jemehgoh Nov 10, 2024
508b265
Merge branch 'master' into Remove-Phone-Number
KuanHsienn Nov 10, 2024
d2a028b
Merge pull request #242 from KuanHsienn/Remove-Phone-Number
KuanHsienn Nov 10, 2024
02593f5
Merge branch 'master' into file-logging
jemehgoh Nov 10, 2024
c56ac72
Merge branch 'master' into event-duplicate-bugfix
jemehgoh Nov 10, 2024
ebf8355
Fix absent variable issue in CopyCommand
jemehgoh Nov 10, 2024
a2fd49a
Fix I/O redirection tests
jemehgoh Nov 10, 2024
d35e8bb
Edit user guide in line with phone number removal
jemehgoh Nov 10, 2024
b5678af
Update UG with phone number removal
jemehgoh Nov 10, 2024
e689719
Merge pull request #243 from jemehgoh/file-logging
LTK-1606 Nov 10, 2024
29d80e0
Merge pull request #246 from jemehgoh/ug-phone
LTK-1606 Nov 10, 2024
9cb1fe3
Merge branch 'master' of https://github.com/AY2425S1-CS2113-W13-3/tp …
jemehgoh Nov 10, 2024
b40ad2a
Merge branch 'master' into event-duplicate-bugfix
KuanHsienn Nov 10, 2024
2234a9d
Update DG with new duplicate name functionality
jemehgoh Nov 10, 2024
214a028
Fix uncaught/undeclared exceptions
jemehgoh Nov 10, 2024
022362a
Merge pull request #245 from jemehgoh/event-duplicate-bugfix
KuanHsienn Nov 10, 2024
14e83ef
Add and edit output messages
LTK-1606 Nov 10, 2024
1d8374a
Merge branch 'master' into UpdateDoc
LTK-1606 Nov 10, 2024
4a7c244
Update EXPECTED.TXT
LTK-1606 Nov 10, 2024
c10f23a
Merge branch 'UpdateDoc' of https://github.com/LTK-1606/tp into Updat…
LTK-1606 Nov 10, 2024
14c4555
Update EXPECTED.TXT
LTK-1606 Nov 10, 2024
5e3acad
Remove main or add activation bar to sequence diagrams
jemehgoh Nov 10, 2024
af87f97
Add regex for copy, sort and filter
KuanHsienn Nov 10, 2024
36d3cd8
Solve SortCommand bug
KuanHsienn Nov 10, 2024
5a76d57
Wrap line according to review
LTK-1606 Nov 10, 2024
4e314bf
Update time remarks in UG
LTK-1606 Nov 10, 2024
c6b0d01
Update time remarks according to review
LTK-1606 Nov 10, 2024
b333b43
Update and simplify sequence diagrams
jemehgoh Nov 10, 2024
8254180
Fix date time bug
KuanHsienn Nov 10, 2024
14d2132
Merge pull request #247 from LTK-1606/UpdateDoc
jemehgoh Nov 10, 2024
18140d4
Resolve test cases
KuanHsienn Nov 10, 2024
2440a31
Remove "X" from sequence diagrams
jemehgoh Nov 10, 2024
d4d3bb2
Update input.txt
KuanHsienn Nov 10, 2024
579decc
Merge branch 'master' into Testing-Fixes
KuanHsienn Nov 10, 2024
12bfb2f
Update instance destruction in sequence diagrams as per review
jemehgoh Nov 10, 2024
508c7ce
Resolve merge conflicts
KuanHsienn Nov 10, 2024
d653f60
Merge pull request #250 from jemehgoh/developer-guide-ped-bugfix
LTK-1606 Nov 10, 2024
0d58fc9
Fix CI test
KuanHsienn Nov 10, 2024
5ac6a40
Update EXPECTED.TXT
KuanHsienn Nov 10, 2024
4367ef7
Update edit participant command to have name change functionality
jemehgoh Nov 10, 2024
276a088
Update MenuCommand and UG with new edit participant command format
jemehgoh Nov 10, 2024
a7f5af5
Update MenuCommand output in UG to match program output
jemehgoh Nov 10, 2024
5d8bb42
Update Javadocs for duplicate name methods
jemehgoh Nov 10, 2024
2aa62c3
Fix edit same name being treated as duplicate
jemehgoh Nov 10, 2024
11e1418
Merge branch 'master' into edit-participant
jemehgoh Nov 10, 2024
5cc5fcb
Update DG to match new edit participant command functionality
jemehgoh Nov 10, 2024
95d66f4
Merge pull request #249 from KuanHsienn/Testing-Fixes
jemehgoh Nov 10, 2024
3eabd61
Merge branch 'master' into edit-participant
jemehgoh Nov 10, 2024
d582dac
Update I/O redirection tests
jemehgoh Nov 10, 2024
c63fc3d
Remove unused setter methods from Event
jemehgoh Nov 10, 2024
4c5aa18
Merge pull request #251 from jemehgoh/edit-participant
LTK-1606 Nov 10, 2024
5a5e7c6
Update UserGuide.md
KuanHsienn Nov 10, 2024
590a99b
Extract out getMatcher method
jemehgoh Nov 10, 2024
5169ba7
Bug for trailing whitespace
KuanHsienn Nov 10, 2024
9f83466
Make happy path more prominent for add command parsers
jemehgoh Nov 10, 2024
e7cd048
Merge pull request #252 from KuanHsienn/master
jemehgoh Nov 10, 2024
e0173f7
Reduce nesting in parse command methods
jemehgoh Nov 10, 2024
778f705
Remove extraneous blank lines
jemehgoh Nov 10, 2024
e1f4901
Fix indentation
jemehgoh Nov 10, 2024
d490ffd
rename my PPP
Nov 10, 2024
ad1f928
Merge pull request #254 from MatchaRRR/PPP
MatchaRRR Nov 10, 2024
c164451
rename my PPP
Nov 10, 2024
a26a536
Merge pull request #253 from jemehgoh/parser-quality
LTK-1606 Nov 10, 2024
82ea005
Merge pull request #255 from MatchaRRR/PPP
MatchaRRR Nov 10, 2024
f59f775
Remove picture, edit ppp
LTK-1606 Nov 10, 2024
ee4db1b
Merge pull request #256 from LTK-1606/UpdatePPP
LTK-1606 Nov 10, 2024
56f6e5c
Update duplicate handling to fix unnecessary suffix addition
jemehgoh Nov 11, 2024
ebcd5df
Update edit name duplicate handling to fix bugs
jemehgoh Nov 11, 2024
20f0938
Update edit command to return string instead of boolean
jemehgoh Nov 11, 2024
f66603f
Update add command to return added item names
jemehgoh Nov 11, 2024
ac33813
Update DG in line with command changes
jemehgoh Nov 11, 2024
fabaeb5
Update PPP with more contributions
jemehgoh Nov 11, 2024
62bbb6e
Merge pull request #258 from jemehgoh/duplicate-handler-bugfix
LTK-1606 Nov 11, 2024
cec7cdf
Merge pull request #259 from jemehgoh/ppp-final
KuanHsienn Nov 11, 2024
e7e8b51
Update UG to account for new commands
jemehgoh Nov 11, 2024
bcecdb5
Update file name for UG
jemehgoh Nov 11, 2024
16df6c7
Update DG with new start commands
jemehgoh Nov 11, 2024
23f87da
Update UG to account for event case sensitivity and for grammar
jemehgoh Nov 11, 2024
afed5cc
Add datetime validation to FilterCommand
KuanHsienn Nov 11, 2024
8a694e6
Update DG
KuanHsienn Nov 11, 2024
28ef6da
Merge pull request #261 from KuanHsienn/Testing-Fixes
jemehgoh Nov 11, 2024
8ed429d
Update PPP
KuanHsienn Nov 11, 2024
1672cab
Merge branch 'master' into ug-dg-fixes
KuanHsienn Nov 11, 2024
af9f403
Merge pull request #260 from jemehgoh/ug-dg-fixes
KuanHsienn Nov 11, 2024
e7b65af
Merge pull request #262 from KuanHsienn/PPP
KuanHsienn Nov 11, 2024
c3fe992
Fix broken links in docs
jemehgoh Nov 11, 2024
922ff74
Move line breaks in UG and link fix in DG
jemehgoh Nov 11, 2024
f9325fb
Update line breaks for DG
jemehgoh Nov 11, 2024
d8e031f
Update DG line break
jemehgoh Nov 11, 2024
2cbe7be
Update edit item message
jemehgoh Nov 11, 2024
916d323
Remove "following" from messages
jemehgoh Nov 11, 2024
2491813
Merge pull request #263 from jemehgoh/docs-breaks
LTK-1606 Nov 11, 2024
0f19ca0
Update kuanhsienn.md
KuanHsienn Nov 11, 2024
2ff08ef
Update I/O redirection tests
jemehgoh Nov 11, 2024
5e79ab4
Update kuanhsienn.md
KuanHsienn Nov 11, 2024
88b9b34
Merge pull request #264 from jemehgoh/edit-message-fix
jemehgoh Nov 11, 2024
2f23f5f
Update initial message in UG and add page break to DG
jemehgoh Nov 11, 2024
0a47638
Add page break and change diagram size
jemehgoh Nov 11, 2024
4611bae
Change italic to bold
jemehgoh Nov 11, 2024
eff93c9
Merge pull request #265 from jemehgoh/ug-dg-final
jemehgoh Nov 11, 2024
c0a9884
Update PPP with fixes in content and grammar
glenn-chew Nov 11, 2024
3033495
Merge pull request #266 from glenn-chew/UpdatePPP
glenn-chew Nov 11, 2024
0b0bf41
Update kuanhsienn.md
KuanHsienn Nov 11, 2024
5331250
Resolve duplicate flags bug
KuanHsienn Nov 11, 2024
ecb6d49
Merge pull request #267 from KuanHsienn/PPP
jemehgoh Nov 11, 2024
dfa8d0d
Resolve duplicate flag at the end bug
KuanHsienn Nov 11, 2024
0f5696d
Update manual testing section to reflect actual functionality
jemehgoh Nov 11, 2024
f3a0a4a
Update output string method
LTK-1606 Nov 11, 2024
4e39219
Update EXPECTED.TXT
LTK-1606 Nov 11, 2024
6ead99d
Add code tags to list command section and update homepage image
jemehgoh Nov 11, 2024
fb3b073
Merge pull request #268 from LTK-1606/MessageFix
KuanHsienn Nov 11, 2024
07d351f
Merge pull request #269 from jemehgoh/manual-testing-fixes
LTK-1606 Nov 11, 2024
bcb2d80
Add project management items to PPP
jemehgoh Nov 11, 2024
4d89114
Merge pull request #270 from jemehgoh/ppp-amendment
jemehgoh Nov 11, 2024
32de0a7
Add page break before "Features" section of UG
jemehgoh Nov 11, 2024
2242c5e
Merge pull request #271 from jemehgoh/ug-break
jemehgoh Nov 11, 2024
4519223
Convert command list in UG to screenshot
jemehgoh Nov 11, 2024
591b9e8
Merge pull request #272 from jemehgoh/ug-diagram-fix
jemehgoh Nov 11, 2024
29333c2
Resolve bug in loading when datetime field in text file is edited
KuanHsienn Nov 12, 2024
b3ced77
Resolve bug in invalid mark status in storage file
KuanHsienn Nov 12, 2024
a1a1188
Resolve bugs in invalid email in storage file
KuanHsienn Nov 12, 2024
2daa585
Resolve CI test
KuanHsienn Nov 12, 2024
a73088e
Update UG
LTK-1606 Nov 12, 2024
da79074
Update regex
LTK-1606 Nov 12, 2024
d10c890
Merge pull request #273 from KuanHsienn/master
LTK-1606 Nov 12, 2024
16aa6d8
Merge pull request #274 from LTK-1606/Keyboard
KuanHsienn Nov 12, 2024
fab3360
Merge pull request #275 from LTK-1606/Regex
KuanHsienn Nov 12, 2024
526ae1f
Update error handling
LTK-1606 Nov 12, 2024
0cd9e9b
Update output message
LTK-1606 Nov 12, 2024
e1240e4
Merge pull request #276 from LTK-1606/Storage
KuanHsienn Nov 12, 2024
27a3eaf
Update storage loading sequence diagram
LTK-1606 Nov 12, 2024
c251b73
Update image
LTK-1606 Nov 12, 2024
8b07b4a
Merge pull request #277 from LTK-1606/Storage
jemehgoh Nov 12, 2024
2ab6067
Update Storage PUML
KuanHsienn Nov 12, 2024
2670eb1
Merge pull request #278 from KuanHsienn/master
jemehgoh Nov 12, 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
14 changes: 13 additions & 1 deletion .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,18 @@ jobs:
java-version: '17'
java-package: jdk+fx

- name: Install dos2unix (Ubuntu)
if: runner.os == 'Linux'
run: sudo apt-get install -y dos2unix

- name: Install dos2unix (MacOS)
if: runner.os == 'macOS'
run: brew install dos2unix

- name: Install dos2unix (Windows)
if: runner.os == 'Windows'
run: choco install dos2unix

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

Expand All @@ -47,4 +59,4 @@ jobs:
if: always() && runner.os == 'Windows'
working-directory: ${{ github.workspace }}/text-ui-test
shell: cmd
run: runtest.bat
run: runtest.bat
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,4 @@ bin/

/text-ui-test/ACTUAL.TXT
text-ui-test/EXPECTED-UNIX.TXT
src/main/java/META-INF/MANIFEST.MF
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Duke project template
# EventManagerCLI

This is a project template for a greenfield Java project. It's named after the Java mascot _Duke_. Given below are instructions on how to use it.
This is a project template for a greenfield Java project. It's named after the Java mascot EventManagerCLI. Given below are instructions on how to use it.

## Setting up in Intellij

Expand Down
3 changes: 2 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ test {
}

application {
mainClass.set("seedu.duke.Duke")
mainClass.set("seedu.manager.Main")
}

shadowJar {
Expand All @@ -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) | Liang Kuan Hsien | [Github](https://github.com/KuanHsienn) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Lim Tze Kang | [Github](https://github.com/LTK-1606) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Glenn Chew | [Github](https://github.com/glenn-chew) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Jeremy Goh | [Github](https://github.com/jemehgoh) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | FU Yixuan | [Github](https://github.com/MatchaRRR) | [Portfolio](docs/team/yixuan.md)
73 changes: 65 additions & 8 deletions docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,83 @@

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

Choose a reason for hiding this comment

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

Perhaps can consider removing the acknowledgements section if you don't have sources to acknowledge

Choose a reason for hiding this comment

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

Noted, thanks for pointing this out!


## Design & implementation
## Design

{Describe the design and implementation of the product. Use UML diagrams and short code snippets where applicable.}
<img src = "images/ArchitectureDiagram.png">

The *Architecture Diagram* given above provides the high-level design of the application.

### Main components

The application comprises the following components:
* `Main`, which handles program startup and shutdown, and also interactions between other components.
* `UI`, which handles user input and showing messages to the user.
* `Storage`, which handles the loading and saving of data upon program startup and shutdown.
* `Parser`, which converts user input into commands.
* `Command`, which are executed to modify the data stored in the program.
* `EventList`, which stores the program's data.

### Interactions between components

<img src = "images/ArchitectureSequenceDiagram.png">

Choose a reason for hiding this comment

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

Based on the textbook, the object deletion notation for Parser object to indicate the point at which it becomes ready to be garbage-collected should be marked with a cross with no lifeline after that.

Choose a reason for hiding this comment

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

The lifeline after that is an issue with PlantUML. We will note that below the diagram.


The above *Sequence Diagram* shows how the different components of the system interact with one
another in the scenario when the command `add -e event -t 1200 -v venue` is executed.


## Implementation

This section describes some noteworthy details on how certain features are implemented.

### List feature[TBD]
Copy link

@yentheng0110 yentheng0110 Oct 31, 2024

Choose a reason for hiding this comment

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

Perhaps can write [Proposed] for proposed implementation of list feature instead of using abbreviations such as TBD which may not be easily understood by everyone


The `list` feature allows users to view all scheduled events in the system.
It is implemented in the `ListCommand` class, which extends the base `Command` class and formats the output to display all events.
Internally, the `list` operation does not modify any data but simply retrieves and displays the information from `EventList`.

The `ListCommand` class performs the following key operations:

* ListCommand#execute() — Generates a formatted message displaying all events in the list.

These operations are accessible through the `Command` and can be invoked when the list command is entered by the user.

Given below is an example usage scenario and the behavior of the list feature at each step:

1. User Command Input:
The user enters the command `list` to view all scheduled events.

2. Command Recognition:
The `COMMAND_WORD` is set to "list", enabling the system to recognize the command input and invoke `ListCommand`.

3. Execution of ListCommand#execute():

Choose a reason for hiding this comment

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

Should method calls be formatted as a code block (i.e. enclose with ``) as well?

The `execute()` method retrieves each event from `eventList` and appends it to a formatted output message.
It uses the `String.format` method with `LIST_MESSAGE` to include the total number of events in the message header.
Events are appended to `outputMessage` with numbered formatting for readability.
Comment on lines +272 to +273

Choose a reason for hiding this comment

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

Can this be generalized as pseudocode? I.e. Does the developer need to know exactly how the message is created to understand how the feature wroks?


4. Output Generation:
The method stores the generated `outputMessage` in `this.message`, ready for display.


## Product scope
### Target user profile

{Describe the target user profile}
The target user:
* has a need to organise a large number of events
* organises small-scale events, such that he is able to handle all matters on his own
* prefers typing to mouse interactions
* is comfortable using a command-line interface

### Value proposition

{Describe the value proposition: what problem does it solve?}
The user is able to organise and manage his events more quickly and efficiently than with a mouse/GUI app

## 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 | mark events as completed | easily track all past events |
| v2.0 | user | mark participants present| know exactly who signed up but did not attend the event|

## Non-Functional Requirements

Expand Down
83 changes: 64 additions & 19 deletions docs/UserGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,41 +2,86 @@

## Introduction

{Give a product intro}
EventManager CLI is a CLI application that allows organisers of small-scale events to track
the participants and logistics of such events.

## Quick Start

{Give steps to get started quickly}

1. Ensure that you have Java 17 or above installed.
1. Down the latest version of `Duke` from [here](http://link.to/duke).
2. Down the latest version of `EventManagerCLI` from [here](https://github.com/AY2425S1-CS2113-W13-3/tp/releases).
3. Open a new terminal in the folder that you put the JAR file in, and run the program with the
command ```java -jar EventManagerCLI.jar```.
The following message would be printed:
```
Welcome to EventManagerCLI.
Enter a command:
```

## Features

{Give detailed description of each feature}
### Viewing the command list: `menu`
Shows a list of all valid user commands in the program.

### Adding a todo: `todo`
Adds a new item to the list of todo items.
```
Here are the possible commands:

Format: `todo n/TODO_NAME d/DEADLINE`
add -e EVENT -t TIME -v VENUE: Add an event to the event list.
list: List events.
remove -e EVENT: Remove an event from the event list.
add -p PARTICIPANT -e EVENT: Add a participant to an event.
view -e EVENT: View the list of participants of an event.
remove -p PARTICIPANT -e EVENT: Remove a participant from an event.
```

* The `DEADLINE` can be in a natural language format.
* The `TODO_NAME` cannot contain punctuation.
Format: `menu`

Example of usage:
### List all events: `list`
Shows a list of all events currently stored in the program.

`todo n/Write the rest of the User Guide d/next week`
Format: `list`

`todo n/Refactor the User Guide to remove passive voice d/13/04/2020`
### Add an event or participant: `add`
Adds an event to the event list, or a participant to an event.

## FAQ
Format:
* `add -e EVENT -t TIME -v VENUE` for adding an event to the events list.
* `add -p PARTICIPANT -e EVENT` for adding a participant to an event.

**Q**: How do I transfer my data to another computer?
Examples:
* `add -e Origami workshop -t Mon 1600-1800 -v Building A` adds an event with name `Origami workshop`,
time `Mon 1600-1800` and venue `Building A` to the events list.
* `add -p John Tan -e Origami workshop` adds a participant `John Tan` to the event `Origami workshop`.

**A**: {your answer here}
### Remove an event or participant: `remove`
Removes an event from the event list, or a participant from an event.

## Command Summary
Format:
* `remove -e EVENT` for removing an event from the event list.
* `remove -p PARTICIPANT -e EVENT` for removing a participant from an event.

Examples:
* `remove -e Origami workshop` removes the event `Origami workshop` from the event list.
* `remove -p John Tan -e Origami workshop` removes the participant `John Tan` from the event `Origami workshop`.

### View all participants for an event: `view`
Shows a list of all participants for an event.

Format: `view -e EVENT`

{Give a 'cheat sheet' of commands here}
Examples:
* `view -e Origami workshop` shows a list of all participants for the event `Origami workshop`.

### Exiting the program: `exit`
Exits the program.

Format: `exit`

## Command Summary

* Add todo `todo n/TODO_NAME d/DEADLINE`
* View all commands: `view`
* List all events: `list`
* Add event: `add -e EVENT -t TIME -v VENUE`
* Add participant to an event: `add -p PARTICIPANT -e EVENT`
* Remove event: `remove -e EVENT`
* Remove participant from an event: `remove -p PARTICIPANT -e EVENT`
* View all participants for an event: `view -e EVENT`
62 changes: 62 additions & 0 deletions docs/diagrams/ArchitectureSequence.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
@startuml
'https://plantuml.com/sequence-diagram

Participant ":Main" as main
Participant ":Ui" as ui
Participant ":Parser" as parser
Participant ":AddCommand" as command
Participant ":EventList" as eventList

main -> ui : getCommand()
activate ui
ui --> main : "add -e event -t 1200 -v venue"
deactivate ui

create parser
main -> parser : Parser()
activate parser
parser --> main : :Parser
deactivate parser

main -> parser : parseCommand("add -e event -t 1200 -v venue")
activate parser

create command
parser -> command : AddCommand("event", "1200", "venue")
activate command
command --> parser : :AddCommand
deactivate command

parser --> main : command:AddCommand
deactivate parser
destroy parser

main -> command : setData(events:EventList)
activate command
command --> main
deactivate command

main -> command : execute()
activate command

command -> eventList : addEvent("event", "1200", "venue")
activate eventList
eventList --> command
deactivate eventList

command --> main
deactivate command

main -> ui : showOutputToUser(command: Command)
activate ui

ui -> command : getMessage()
activate command

command --> ui : :String
deactivate command

ui --> main
deactivate ui

@enduml
45 changes: 45 additions & 0 deletions docs/diagrams/OverallArchitecture.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
@startuml
'https://plantuml.com/class-diagram

class Main {
}

Main --> Ui
Main --> Storage
Main --> EventList
Main ..> Parser
Main ..> Command

class Ui {
}

Ui ..> Command

class Parser {
}

Parser ..> Command

class Storage {
}

Storage ..> EventList

abstract class Command {
}

Command <|-- AddCommand
Command <|-- ExitCommand
Command <|-- ListCommand
Command <|-- XYZCommand

Command ..> EventList

class EventList {
}

EventList *--> "*" Event

Event *--> "*" Participant

@enduml
Binary file added docs/images/ArchitectureDiagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/ArchitectureSequenceDiagram.png

Choose a reason for hiding this comment

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

Event should have a constructor and multiple Objects such as UI, Parser and Event need to be shown as objects. eg. ui:UI
Similar issues with most of the other diagrams. Otherwise very clear and helps with understanding!

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading