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

[CS2103T-W13-4] TutorPro #79

Open
wants to merge 579 commits into
base: master
Choose a base branch
from
Open
Changes from 10 commits
Commits
Show all changes
579 commits
Select commit Hold shift + click to select a range
588eb17
Merge branch 'master' into refactor-homework
Yufannnn Mar 30, 2023
f866c55
Refactor Homework Related Class
Yufannnn Mar 30, 2023
ebf6b82
Merge pull request #123 from Yufannnn/refactor-homework
NBQian Mar 30, 2023
e5f1c71
Merge branch 'master' into 30/03-UG,-done-value-update
NBQian Mar 30, 2023
12064df
Merge pull request #122 from NBQian/30/03-UG,-done-value-update
fahim-tazz Mar 30, 2023
b58876a
Merge pull request #26 from AY2223S2-CS2103T-W13-4/master
Yufannnn Mar 30, 2023
40781af
Update GUI section
Yufannnn Mar 30, 2023
891f03e
Merge branch 'master' into update-user-guide
Yufannnn Mar 30, 2023
ef57d61
Update UG
Yufannnn Mar 30, 2023
44eca33
Update UG GUI
Yufannnn Mar 30, 2023
c330392
Refactoring
Yufannnn Mar 30, 2023
7f20c71
Merge pull request #124 from Yufannnn/update-user-guide
szejiancheng Mar 30, 2023
d11e819
Merge pull request #27 from AY2223S2-CS2103T-W13-4/master
Yufannnn Mar 30, 2023
7b892b2
Merge branch 'master' of https://github.com/Yufannnn/tp
Yufannnn Mar 30, 2023
286811b
Add optional weightage and grade parameters to CreateExamCommand
szejiancheng Mar 30, 2023
f7c8598
Amended names of variables
szejiancheng Mar 30, 2023
a81d7a2
Added prefixes for weightage and grade
szejiancheng Mar 30, 2023
f57e073
Added functions for parsing grade and weightage
szejiancheng Mar 30, 2023
335c258
Amended CreateExamParser to accept optional weightage and grade params
szejiancheng Mar 30, 2023
83b0050
More amendments to class behaviour to support grade and weightage
szejiancheng Mar 30, 2023
1d4bd9a
Added dummy code to be amended
szejiancheng Mar 30, 2023
2881158
Merge branch 'branch-exam-enhancements'
szejiancheng Mar 30, 2023
4971ac5
Fixed Minor View Homework Issue
Yufannnn Mar 30, 2023
1706d6a
Fixed Minor UpdateHomeworkCommand
Yufannnn Mar 30, 2023
e31de3f
Update sample students' tags to reflect TutorPro tags.
Mar 30, 2023
4226a7e
Merge pull request #126 from fahim-tazz/update-sampleData
fahim-tazz Mar 30, 2023
e1447af
Fix bugs and unexpected behaviour in exam classes
szejiancheng Mar 31, 2023
d4ebc8c
Checkstyle fixes
szejiancheng Mar 31, 2023
fc39103
Merge pull request #125 from Yufannnn/fix-view-homework
szejiancheng Mar 31, 2023
a94efcb
fix exam testcase
szejiancheng Mar 31, 2023
3590687
Add view-profile command functionality
szejiancheng Mar 31, 2023
46f2561
amend testcase formatting
szejiancheng Mar 31, 2023
8aadb97
Merge pull request #127 from szejiancheng/master
Yufannnn Mar 31, 2023
f99d969
Merge pull request #128 from szejiancheng/branch-view-profile
Yufannnn Mar 31, 2023
1fb2fcb
Merge pull request #28 from AY2223S2-CS2103T-W13-4/master
Yufannnn Mar 31, 2023
408171a
Update UserGuide.md
Yufannnn Mar 31, 2023
e8aa7f3
Remove unimplemented command
szejiancheng Mar 31, 2023
47918eb
Merge pull request #129 from AY2223S2-CS2103T-W13-4/Yufannnn-update-u…
szejiancheng Mar 31, 2023
2a8c3dc
Merge branch 'master' into master
fahim-tazz Mar 31, 2023
f02777b
Merge pull request #130 from szejiancheng/master
fahim-tazz Mar 31, 2023
6f63201
Fix Bugs from PE
Yufannnn Apr 1, 2023
842a43a
Merge pull request #29 from AY2223S2-CS2103T-W13-4/master
Yufannnn Apr 1, 2023
1eb4bfb
Merge branch 'master' of https://github.com/Yufannnn/tp
Yufannnn Apr 1, 2023
0a93a22
Fix Styling Issue
Yufannnn Apr 1, 2023
de09aec
fix wrong format for time for lessons in UG
Apr 1, 2023
491f182
Merge pull request #170 from Yufannnn/Yufan-PE-bug
szejiancheng Apr 1, 2023
fe4162f
Now the user cannot add a student whose name contains any existing st…
Apr 2, 2023
36c23d1
fixed bugs not fixed in the previous commit
Apr 2, 2023
8210ead
Merge branch 'master' into BOQIAN-PED-BUGS
NBQian Apr 2, 2023
7b5ce2f
Merge pull request #173 from NBQian/BOQIAN-PED-BUGS
Yufannnn Apr 3, 2023
44dddcc
Merge pull request #30 from AY2223S2-CS2103T-W13-4/master
Yufannnn Apr 4, 2023
332a8cf
Fixes Confusing Listing index issue and Updates UserGuide
Yufannnn Apr 4, 2023
c3571c1
a lesson now cannot be added to a student if the tutor has another at…
Apr 5, 2023
8f48973
now cannot update the time of lesson to one that would result in time…
Apr 5, 2023
7ad1890
Merge pull request #174 from Yufannnn/lesson-exam-list-index
NBQian Apr 5, 2023
bf406ec
Change UG pdf file header from "AB-3" to "TutorPro"
Apr 5, 2023
9dda54f
Remove reference to "calculate-grade" command in UG.
Apr 5, 2023
982c2e9
Rename edit command to update-info
Apr 5, 2023
3290449
Fix tables formatting in UG.
Apr 5, 2023
08f90eb
Merge branch 'master' into PED-Fix-update-command
Apr 5, 2023
e5a5e67
Merge branch 'master' into PED-Fix-UG-bugs
Apr 5, 2023
7fb867c
Merge pull request #176 from fahim-tazz/PED-Fix-UG-bugs
fahim-tazz Apr 5, 2023
e0ea669
Attempt to fix UG table #2
Apr 5, 2023
021f091
Merge pull request #178 from fahim-tazz/PED-Fix-UG-bugs
fahim-tazz Apr 5, 2023
b209148
Fix outdated commands in UG, under `Commands` section.
Apr 5, 2023
b8ecbbd
Fixed hyperlink in Quick Start guide.
Apr 5, 2023
3942443
Merge pull request #179 from fahim-tazz/PED-Fix-UG-bugs
fahim-tazz Apr 5, 2023
5808897
Fix a logical error: when adding a lesson, we should only check if th…
Apr 5, 2023
b51057b
fix ped bug where commands consider names in a case-sensitive manner.
Apr 5, 2023
62f7037
Merge pull request #181 from NBQian/PED-Case-Sensitive-bugfix
Yufannnn Apr 6, 2023
230c0ca
Merge pull request #180 from NBQian/LWE-conflict-bug
Yufannnn Apr 6, 2023
1b5afba
Update Yufan PPP
Yufannnn Apr 6, 2023
b903485
now done/ can only be followed by either "done" or "not done". UG for…
Apr 6, 2023
2eb7455
Merge pull request #184 from NBQian/BQ-UGG
Yufannnn Apr 6, 2023
7da52ff
Merge pull request #31 from AY2223S2-CS2103T-W13-4/master
Yufannnn Apr 6, 2023
7d5312f
Merge branch 'master' into Yufan-ppp
Yufannnn Apr 6, 2023
0ca700e
update PPP
Yufannnn Apr 6, 2023
1e741ab
Fix CheckStyle Issues
Yufannnn Apr 6, 2023
2fbae71
Update Search By Name Mechanism
Yufannnn Apr 6, 2023
de8e07f
Fixes TOC
Yufannnn Apr 6, 2023
839d899
Fixes Errors
Yufannnn Apr 7, 2023
6d84aa5
EDIT FIND DELETE now must be used with prefixes
Apr 7, 2023
9190c65
Merge pull request #185 from Yufannnn/Yufan-ppp
NBQian Apr 7, 2023
46ca5e6
Merge pull request #186 from Yufannnn/name-mechanism
NBQian Apr 7, 2023
5a425d5
Merge pull request #187 from NBQian/EDIT-DELETE-FIND-has-prefix
Yufannnn Apr 8, 2023
454bce6
fix the bug for lesson and exam where update does not throw error whe…
Apr 8, 2023
9dbdd91
Merge pull request #189 from NBQian/BUG-UPDATE-NON-EXIST
fahim-tazz Apr 8, 2023
fbbfe4a
Merge branch 'master' into PED-Fix-update-command
Apr 8, 2023
dc06bba
Change ```edit``` command to ```update-info```.
Apr 8, 2023
1d97577
Add delete command to UG.
Apr 8, 2023
dfccd3d
Update update-info command format in UG.
Apr 8, 2023
20ea45c
Fix examples for update-info command in UG.
Apr 8, 2023
2ab2ab1
Added View Profile command to UG.
Apr 8, 2023
d353392
Merge pull request #190 from fahim-tazz/PED-Fix-update-command
Yufannnn Apr 8, 2023
64b17ea
Merge pull request #32 from AY2223S2-CS2103T-W13-4/master
Yufannnn Apr 8, 2023
8606507
Add screenshots to Profile Commands.
Apr 8, 2023
a758c72
Merge pull request #191 from fahim-tazz/PED-Fix-UG-bugs
Yufannnn Apr 8, 2023
738f34b
Update Structure
Yufannnn Apr 8, 2023
2fdcf5f
Merge pull request #33 from AY2223S2-CS2103T-W13-4/master
Yufannnn Apr 8, 2023
45889ce
Merge branch 'master' into final-update-of-UG
Yufannnn Apr 8, 2023
ce49492
now if the user tries to add an exam to a student that clashes with t…
Apr 8, 2023
88e47da
huge update for UG
Yufannnn Apr 8, 2023
d878bff
Merge pull request #192 from NBQian/ADD-EXAM-LESSON-CLASH-MSG
Yufannnn Apr 8, 2023
1b24922
Fixed a bit date formating issue
Yufannnn Apr 8, 2023
cda0d64
Merge pull request #34 from AY2223S2-CS2103T-W13-4/master
Yufannnn Apr 8, 2023
20e0000
Merge branch 'master' into final-update-of-UG
Yufannnn Apr 8, 2023
fd11d7d
fix emoji error
Yufannnn Apr 8, 2023
acfc621
Add changes to UG
szejiancheng Apr 8, 2023
90ad5c5
Merge pull request #193 from Yufannnn/final-update-of-UG
fahim-tazz Apr 8, 2023
8779b3d
Merge branch 'master' into UG-exam-changes
Yufannnn Apr 8, 2023
323f2d6
Merge pull request #194 from szejiancheng/UG-exam-changes
Yufannnn Apr 8, 2023
0d087ea
Merge pull request #35 from AY2223S2-CS2103T-W13-4/master
Yufannnn Apr 8, 2023
5033c0f
fixes homework documentation issues
Yufannnn Apr 8, 2023
1b3dc12
Merge branch 'master' into final-update-of-UG
Yufannnn Apr 8, 2023
bf11399
Update respective part of the UG as well
Yufannnn Apr 8, 2023
0e5b1d5
Merge pull request #195 from Yufannnn/final-update-of-UG
NBQian Apr 8, 2023
58689e2
Create all necessary test classes
szejiancheng Apr 8, 2023
9696f24
no message
Apr 8, 2023
eb4f96e
Merge pull request #196 from NBQian/PPP-BQ
Yufannnn Apr 9, 2023
cea50b3
Update PPP
Yufannnn Apr 9, 2023
0a45531
Merge pull request #36 from AY2223S2-CS2103T-W13-4/master
Yufannnn Apr 9, 2023
906e718
Merge branch 'master' into final-update-of-UG
Yufannnn Apr 9, 2023
6399d30
Change screenshot on landing page.
Apr 9, 2023
a0ba488
Update UML as well
Yufannnn Apr 9, 2023
75fb439
create Glossary section of DG. Update TOC for DG
Apr 9, 2023
f19494f
Merge pull request #198 from NBQian/DG-Glossary
Yufannnn Apr 9, 2023
e043814
Merge pull request #197 from Yufannnn/final-update-of-UG
NBQian Apr 9, 2023
f1924ba
Merge pull request #37 from AY2223S2-CS2103T-W13-4/master
Yufannnn Apr 9, 2023
959a13a
Merge branch 'master' of https://github.com/Yufannnn/tp
Yufannnn Apr 9, 2023
b0f857e
Fixes major Storage Bug
Yufannnn Apr 9, 2023
0e1b723
Merge pull request #199 from Yufannnn/fix-storage-bug
NBQian Apr 9, 2023
3ad54bc
fix the bug where editing a student's info results in all his homewor…
Apr 9, 2023
c5fea3f
Merge pull request #200 from NBQian/EDIT-BUG-PPP
Yufannnn Apr 9, 2023
5794e88
Add testcases for JsonAdaptedExam
szejiancheng Apr 9, 2023
a73a3b3
Add JsonAdaptedLesson testcases
szejiancheng Apr 9, 2023
b3d9cd3
Add testcases for ExamDonePredicate
szejiancheng Apr 9, 2023
5350e5e
Add testcases for ExamDatePredicate
szejiancheng Apr 9, 2023
7d038ad
Add testcases for ExamPredicate
szejiancheng Apr 9, 2023
b81cf81
checkstyle changes
szejiancheng Apr 9, 2023
fd3bb98
more checkstyle fixes
szejiancheng Apr 9, 2023
f97fd7e
Merge pull request #202 from szejiancheng/branch-adding-testcases
Yufannnn Apr 10, 2023
b9c2af1
Merge pull request #38 from AY2223S2-CS2103T-W13-4/master
Yufannnn Apr 10, 2023
4bdc830
Fixes DG bugs
Yufannnn Apr 10, 2023
39f989d
Update UG cosmetics as well
Yufannnn Apr 10, 2023
89873fa
Update UserGuide.md
Yufannnn Apr 10, 2023
fdb4e5f
Merge pull request #203 from Yufannnn/fix-DG-bug
szejiancheng Apr 10, 2023
b7dc3cb
now lessons can only be added to one student each time
Apr 10, 2023
061fd51
Merge branch 'master' into PED-Fix-UG-bugs
Apr 10, 2023
d7aeb8a
Fix Ui Bug
Yufannnn Apr 10, 2023
18f950e
Merge branch 'fix-DG-bug' of https://github.com/Yufannnn/tp into fix-…
Yufannnn Apr 10, 2023
64dcf7c
Finalize UG for submission.
Apr 10, 2023
11b3355
Fix Styling
Yufannnn Apr 10, 2023
1686fad
Update UML
Yufannnn Apr 10, 2023
8f544f8
Merge pull request #206 from Yufannnn/fix-DG-bug
NBQian Apr 10, 2023
39c8f39
Merge pull request #205 from NBQian/one-student-lesson
Yufannnn Apr 10, 2023
b682153
Merge pull request #207 from fahim-tazz/PED-Fix-UG-bugs
Yufannnn Apr 10, 2023
05814ac
fixed wrong representation for the sequence diagram of CreateLessonCo…
Apr 10, 2023
bc3146e
Add help list exit commands to Command Summary.
Apr 10, 2023
1b94dbd
Remove non-essential screenshots from UG.
Apr 10, 2023
6ec092a
Merge branch 'master' into PED-Fix-UG-bugs
Apr 10, 2023
5ceb757
Merge pull request #208 from NBQian/bq-dg-sq-diagram
Yufannnn Apr 10, 2023
76a5557
Merge pull request #39 from AY2223S2-CS2103T-W13-4/master
Yufannnn Apr 10, 2023
c4253ae
Minor Change
Yufannnn Apr 10, 2023
f4a4671
Merge branch 'master' into fix-DG-bug
Yufannnn Apr 10, 2023
d7f16fd
Merge branch 'master' into PED-Fix-UG-bugs
Apr 10, 2023
1a79341
Add UG page breaks, attempt #1.
Apr 10, 2023
127c2a7
Merge pull request #209 from fahim-tazz/PED-Fix-UG-bugs
fahim-tazz Apr 10, 2023
8ea7238
Attempt 2 of adding page breaks.
Apr 10, 2023
97d65e6
Merge pull request #211 from fahim-tazz/PED-Fix-UG-bugs
fahim-tazz Apr 10, 2023
1120178
Merge pull request #40 from AY2223S2-CS2103T-W13-4/master
Yufannnn Apr 10, 2023
121b269
Minor Update
Yufannnn Apr 10, 2023
837fe3e
Merge branch 'master' of https://github.com/Yufannnn/tp
Yufannnn Apr 10, 2023
84d7805
Merge branch 'master' into fix-DG-bug
Yufannnn Apr 10, 2023
b555bbe
Add Future Features
Yufannnn Apr 10, 2023
7ebb3e0
Merge pull request #212 from Yufannnn/fix-DG-bug
NBQian Apr 10, 2023
2c35d4c
Fix Minor Display Issues
Yufannnn Apr 10, 2023
8b663bc
Merge pull request #213 from AY2223S2-CS2103T-W13-4/Developer-Guide-D…
NBQian Apr 10, 2023
8096d8e
Merge pull request #41 from AY2223S2-CS2103T-W13-4/master
Yufannnn Apr 10, 2023
54c74f8
Page break attempt 3
Apr 10, 2023
d09c8be
Merge pull request #214 from fahim-tazz/PED-Fix-UG-bugs
fahim-tazz Apr 10, 2023
335d81a
Merge pull request #42 from AY2223S2-CS2103T-W13-4/master
Yufannnn Apr 10, 2023
1f1e095
Attempt 4 at fixing UG page breaks.
Apr 10, 2023
81d33b8
Merge pull request #215 from fahim-tazz/PED-Fix-UG-bugs
fahim-tazz Apr 10, 2023
873b158
Merge pull request #43 from AY2223S2-CS2103T-W13-4/master
Yufannnn Apr 10, 2023
1f74aa1
Attempt 5 at UG page breaks.
Apr 10, 2023
ad7ecf7
Merge pull request #216 from fahim-tazz/PED-Fix-UG-bugs
fahim-tazz Apr 10, 2023
e62349e
Attempt 6 at UG page breaks.
Apr 10, 2023
a4aa1cb
Merge pull request #217 from fahim-tazz/PED-Fix-UG-bugs
fahim-tazz Apr 10, 2023
6e1a2b8
more test cases for Lesson
Apr 10, 2023
166c356
Attempt 8 at UG page breaks.
Apr 10, 2023
822476c
Merge pull request #219 from fahim-tazz/PED-Fix-UG-bugs
fahim-tazz Apr 10, 2023
901d69b
idk whats going on
Apr 10, 2023
134c65f
Merge pull request #218 from NBQian/bq-dg-sq-diagram
Yufannnn Apr 10, 2023
5f3742c
Merge pull request #44 from AY2223S2-CS2103T-W13-4/master
Yufannnn Apr 10, 2023
4d83892
Update Parser
Yufannnn Apr 10, 2023
586c5af
Merge branch 'master' of https://github.com/Yufannnn/tp
Yufannnn Apr 10, 2023
1ea698f
remove main
Yufannnn Apr 10, 2023
7861b52
Fix WhiteSpace
Yufannnn Apr 10, 2023
e658570
Fix wrong deletion message for Homework, Student and Lesson.
Apr 10, 2023
b93f03e
Merge pull request #220 from Yufannnn/fix-DG-bug
NBQian Apr 10, 2023
17b07f2
Merge pull request #221 from fahim-tazz/bug-fixes-before-PE
Yufannnn Apr 10, 2023
7d2479e
fix bug about date/date, and the bug where the student disappears aft…
Apr 10, 2023
fec71b5
123321
Apr 10, 2023
e131ec3
Merge branch 'bq-dg-sq-diagram' into DATE-bug-im-crying
Apr 10, 2023
62d1612
Update `AboutUs.md` to reflect Fahim's email.
Apr 10, 2023
207fb1c
add testcases for viewProfileCommand
szejiancheng Apr 10, 2023
37ec90e
checkstyle fixes
szejiancheng Apr 10, 2023
eba4ca1
Merge pull request #223 from szejiancheng/master
fahim-tazz Apr 10, 2023
7b03df4
Merge branch 'master' into DATE-bug-im-crying
NBQian Apr 10, 2023
c027d72
Update ViewLessonCommandParserTest.java
NBQian Apr 10, 2023
dfb70f8
Update User stories to reflect v1.4.
Apr 10, 2023
6cc3dd3
Merge pull request #224 from NBQian/DATE-bug-im-crying
szejiancheng Apr 10, 2023
4656e5f
123
Apr 10, 2023
c9e3c0d
bugfix
szejiancheng Apr 10, 2023
4f16aea
Merge pull request #226 from szejiancheng/branch-bug-fix-invocation-e…
szejiancheng Apr 10, 2023
5209f7d
Merge pull request #225 from fahim-tazz/fahim-PPP-aboutUs
Yufannnn Apr 10, 2023
29bd044
12345676898079
Apr 10, 2023
5a052b5
Finalize UG.
Apr 10, 2023
d2ccd5f
Merge pull request #227 from NBQian/dup-prefix-bug
fahim-tazz Apr 10, 2023
8ccef45
Merge pull request #228 from fahim-tazz/finalize-UG
NBQian Apr 10, 2023
9b65e9c
123456789
Apr 10, 2023
51d263c
Merge pull request #229 from NBQian/dup-prefix-bug
Yufannnn Apr 10, 2023
b788b44
Add reposense link to ppp.
Apr 10, 2023
c5c9853
tweaks to the dg
szejiancheng Apr 10, 2023
49c8430
Merge pull request #230 from szejiancheng/branch-DG-edits
fahim-tazz Apr 10, 2023
0160b7a
update PPP
szejiancheng Apr 10, 2023
de0e6c3
Finalized Fahim's PPP
Apr 10, 2023
934206f
hehehe
Apr 10, 2023
bdcccb9
Merge branch 'master' into finalize-PPP-fahim
fahim-tazz Apr 10, 2023
bce93cb
Merge pull request #232 from fahim-tazz/finalize-PPP-fahim
NBQian Apr 10, 2023
121804a
Merge pull request #231 from NBQian/CREDIT
szejiancheng Apr 10, 2023
c771102
changes to DG
szejiancheng Apr 10, 2023
34899f5
Merge pull request #233 from szejiancheng/master
Yufannnn Apr 10, 2023
560d555
tweaks to dg
szejiancheng Apr 10, 2023
e292a7f
Merge pull request #234 from szejiancheng/master
Yufannnn Apr 10, 2023
9285d71
Add ToC formatting.
fahim-tazz Apr 10, 2023
f25ef3b
12343546756898
Apr 10, 2023
3a73872
1234
Apr 10, 2023
bc2f6bf
Add page breaks.
fahim-tazz Apr 10, 2023
7844b16
03498170459874
Apr 10, 2023
dd454fa
Merge pull request #235 from NBQian/BQCOMMENTS
Yufannnn Apr 10, 2023
24e659f
final ppp
szejiancheng Apr 10, 2023
62655c2
tweak link to PPP
szejiancheng Apr 10, 2023
dd1a4fa
Merge pull request #236 from szejiancheng/branch-jc's-PPP
Yufannnn Apr 10, 2023
5d8e891
Update index.md
szejiancheng Apr 10, 2023
c756cf2
v1.4b
Apr 10, 2023
99fffef
Final tweaks
szejiancheng Apr 10, 2023
56fd6c8
Merge pull request #237 from NBQian/TAGGGGGGGG
Yufannnn Apr 10, 2023
824b3e4
Merge pull request #238 from szejiancheng/master
Yufannnn Apr 10, 2023
5ca3fb6
Add `Supoorted Date Formats` to ToC
fahim-tazz Apr 14, 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
53 changes: 45 additions & 8 deletions docs/UserGuide.md
Original file line number Diff line number Diff line change
@@ -51,13 +51,13 @@ TutorPro is a **desktop app designed to help private tutors manage their student

3. Copy the file to the folder you want to use as the _home folder_ for your address book.

4. Open a command terminal, `cd` into the folder in which you put the jar file, and use the `java -jar addressbook.jar` command to run the application.<br>
4. Open a command terminal, `cd` into the folder in which you put the jar file, and use the `java -jar TutorPro.jar` command to run the application.<br>
A GUI similar to the one below should appear in a few seconds. Note how the app contains some sample data.<br>
![Ui](images/Ui.png)

5. Type the command in the command box and press Enter to execute it. e.g. typing **`help`** and pressing Enter will open the help window.<br>

6. Refer to the [Features](#features) below for details of each command.
6. Refer to the Features below for details of each command.

--------------------------------------------------------------------------------------------------------------------
### Glossary
@@ -95,7 +95,7 @@ When you first run the app, you may see a display window pop up similar to the o

You may enter the following commands in the Command Box to see how the Display List changes:
* `list` lists all students.
* `delete-b 1` deletes the student with index 1.
* `delete 1` deletes the student with index 1.
* `view-homework` displays all the homework from all students.

You may also click the quick access buttons one each student card to see how the Detailed Information Section changes.
@@ -191,8 +191,9 @@ Format: `new-homework [name/STUDENT_NAME] [homework/HOMEWORK_NAME] [deadline/DEA
* The `DEADLINE` must be in the future.

Examples:
* `assign-homework name/John homework/listening comprehension ex1 deadline/02-12-2023-2359` adds the assignment `listening comprehension ex1` to the student named `John. The deadline is 02 Dec 2023 at 23:25.
* `new-homework name/John homework/listening comprehension ex1 deadline/2023-04-30 2359` adds the assignment `listening comprehension ex1` to the student named `John. The deadline is 02 Dec 2023 at 23:25.

:exclamation: **Caution:** STUDENT_NAME is case-sensitive and supports partial matching. For example, `John` will match `John Doe` but not `john`.

:exclamation: **Caution:** STUDENT_NAME, HOMEWORK_INDEX , and DEADLINE should all only appear at most once and should not be empty.

@@ -215,6 +216,8 @@ Examples:
* `view-homework status/completed` displays all completed homework from all students.
* `view-homework name/John status/pending` displays pending homework for a student named `John`.

:exclamation: **Caution:** STUDENT_NAME is case-sensitive and supports partial matching. For example, `John` will match `John Doe` but not `john`.

:exclamation: **Caution:** STATUS should only appear at most once and should not be empty. STUDENT_NAME can be zero or multiple but they all cannot be empty.

#### Delete Homework from a Student
@@ -232,6 +235,8 @@ Examples:
* `delete-homework name/John index/1` deletes the first homework assignment for the student named John.
* `delete-homework name/Susan index/3` deletes the third homework assignment for the student named Susan.

:exclamation: **Caution:** STUDENT_NAME is case-sensitive and supports partial matching. For example, `John` will match `John Doe` but not `john`.

:exclamation: **Caution:** STUDENT_NAME, and HOMEWORK_INDEX should all only appear at most once and should not be empty.

#### Mark the Homework of a Student as Done
@@ -249,8 +254,9 @@ Examples:
* `mark-homework name/John index/1` marks the first homework assignment for the student named John.
* `mark-homework name/Susan index/3` marks the third homework assignment for the student named Susan.

:exclamation: **Caution:** STUDENT_NAME, and HOMEWORK_INDEX should all only appear at most once and should not be empty.
:exclamation: **Caution:** STUDENT_NAME is case-sensitive and supports partial matching. For example, `John` will match `John Doe` but not `john`.

:exclamation: **Caution:** STUDENT_NAME, and HOMEWORK_INDEX should all only appear at most once and should not be empty.

#### Unmark Homework of a Student as Undone

@@ -267,6 +273,8 @@ Examples:
* `unmark-homework name/John index/1`unmarks the first homework assignment for the student named John.
* `unmark-homework name/Susan index/3` unmarks the third homework assignment for the student named Susan.

:exclamation: **Caution:** STUDENT_NAME is case-sensitive and supports partial matching. For example, `John` will match `John Doe` but not `john`.

:exclamation: **Caution:** STUDENT_NAME, and HOMEWORK_INDEX should all only appear at most once and should not be empty.

#### Update Homework of a Student
@@ -288,6 +296,8 @@ Examples:
* `updates-homework name/Susan index/3 deadline/2023-05-12 23:59` updates the deadline of homework 3 of Susan to be `2023-05-12 23:59`.
* `updates-homework name/Donald index/2 homework/Math Assignment 1 deadline/2023-05-12 23:59` updates the name of homework 2 of Donald to be `Math Assignment 1` and updates the deadline of homework 2 of Donald to be `2023-05-12 23:59`.

:exclamation: **Caution:** STUDENT_NAME is case-sensitive and supports partial matching. For example, `John` will match `John Doe` but not `john`.

:exclamation: **Caution:** STUDENT_NAME, HOMEWORK_INDEX , and DEADLINE should all only appear at most once and should not be empty.

### Lessons Commands
@@ -298,10 +308,10 @@ Creates a new lesson for a given student, with a lesson title and time.

Format: `new-lesson [name/STUDENT_NAME] [lesson/LESSON_TITLE] [start/START_TIME] [end/END_TIME]`

* All fields are mandatory.
* All fields, except for additional student names, are mandatory.

Examples:
`new-lesson name/John Doe lesson/The Water Cycle start/25-03-23-1300 end/25-03-23-1500`
* `new-lesson name/John Doe lesson/The Water Cycle start/25-03-23 1300 end/25-03-23 1500` creates a new lesson for the student named `John Doe` with the lesson title `The Water Cycle` starting at `25 Mar 2023 13:00` and ending at `25 Mar 2023 15:00`.


#### View Lessons History
@@ -318,6 +328,34 @@ Examples:
* `view-lesson` Displays the lesson history for all the tutor’s students.
* `view-lesson name/John` Displays the lesson history for the student named John. If two students have the same name, then ask which one to show.

Examples:
* `view-lesson` Displays the lesson history for all the tutor’s students.
* `view-lesson name/John subject/Math date/2023-05-03` Displays the lessons for student John, which are of subject Math, on the day 2023-05-03.
* `view-lesson done/done` Displays all lessons that have been completed

### Remove a Lesson
Deletes a lesson for a given student.

Format: `delete-lesson [name/STUDENT_NAME] [index/LESSON_INDEX]`

* The `STUDENT_NAME` must be an existing student of the tutor. Note that there can only be one student's name.
* Deletes the lesson at the specified `LESSON_INDEX`.

Example:
* `delete-lesson name/John Doe index/1` deletes the first lesson for the student named John Doe.

### Update a Lesson
Updates a lesson for a given student. This includes the lesson title, start time, and end time.

Format: `update-lesson (optional)[name/STUDENT_NAME] (optional)[lesson/LESSON_TITLE] (optional)[start/START_TIME] (optional)[end/END_TIME]`

* The `STUDENT_NAME` must be an existing student of the tutor. Note that there can only be one student's name.
* Updates the specified Lesson with the new information (lesson name and/or start time and/or end time).
* At least one of the fields must be specified.

Example:
* `update-lesson name/John Doe lesson/The Water Cycle start/25-03-23 1300 end/25-03-23 1500` updates the lesson for John Doe with the new information.

### Exams Commands

#### Add an Exam to be tracked
@@ -449,4 +487,3 @@ Examples:
* `dd MMM yyyy HH:mm `
* `MMM dd, yyyy HHmm`
* `MMM dd, yyyy HH:mm `
* `dd-mm-yyyy HHmm`
4 changes: 4 additions & 0 deletions src/main/java/seedu/address/commons/core/Messages.java
Original file line number Diff line number Diff line change
@@ -77,4 +77,8 @@ public class Messages {
public static final String MESSAGE_EMPTY_DEADLINE = "Deadline cannot be empty!";
public static final Object MESSAGE_ONLY_ONE_STATUS = "Only one status is allowed!";
public static final Object MESSAGE_EMPTY_STATUS = "Status cannot be empty!";
public static final String MESSAGE_CONTAIN_STUDENT_NAME = "There is at least one existing student "
+ "whose name contains \"%s\".";
public static final String MESSAGE_EXTENDED_STUDENT_NAME = "There is at least one existing student "
+ "whose name is contained in \"%s\".";
}
11 changes: 11 additions & 0 deletions src/main/java/seedu/address/logic/commands/AddCommand.java
Original file line number Diff line number Diff line change
@@ -9,6 +9,7 @@
import static seedu.address.logic.parser.CliSyntax.PREFIX_SCHOOL;
import static seedu.address.logic.parser.CliSyntax.PREFIX_TAG;

import seedu.address.commons.core.Messages;
import seedu.address.logic.commands.exceptions.CommandException;
import seedu.address.model.Model;
import seedu.address.model.student.Student;
@@ -60,6 +61,16 @@ public CommandResult execute(Model model) throws CommandException {
throw new CommandException(MESSAGE_DUPLICATE_STUDENT);
}

if (model.hasDuplicateNameAdd(toAdd.getName().toString())) {
throw new CommandException(String.format(Messages.MESSAGE_CONTAIN_STUDENT_NAME,
toAdd.getName().toString()));
}

if (model.hasExtendedName(toAdd.getName().toString())) {
throw new CommandException(String.format(Messages.MESSAGE_EXTENDED_STUDENT_NAME,
toAdd.getName().toString()));
}

model.addPerson(toAdd);
return new CommandResult(String.format(MESSAGE_SUCCESS, toAdd));
}
12 changes: 12 additions & 0 deletions src/main/java/seedu/address/logic/commands/EditCommand.java
Original file line number Diff line number Diff line change
@@ -76,6 +76,18 @@ public CommandResult execute(Model model) throws CommandException {

Student personToEdit = lastShownList.get(index.getZeroBased());
Student editedPerson = createEditedPerson(personToEdit, editStudentDescriptor);
String newName = editedPerson.getName().toString();
if (!newName.equals(personToEdit.getName().toString())) {
if (model.hasDuplicateNameEdit(newName, index.getZeroBased())) {
throw new CommandException(String.format(Messages.MESSAGE_CONTAIN_STUDENT_NAME,
newName));
}

if (model.hasExtendedNameEdit(newName, index.getZeroBased())) {
throw new CommandException(String.format(Messages.MESSAGE_EXTENDED_STUDENT_NAME,
newName));
}
}

if (!personToEdit.isSameStudent(editedPerson) && model.hasPerson(editedPerson)) {
throw new CommandException(MESSAGE_DUPLICATE_PERSON);
Original file line number Diff line number Diff line change
@@ -84,6 +84,9 @@ public CommandResult execute(Model model) throws CommandException {
String newHomeworkName = this.homeworkName.orElse(homeworkToUpdate.getDescription());
LocalDateTime newDeadline = this.deadline.orElse(homeworkToUpdate.getDeadline());
Homework newHomework = new Homework(newHomeworkName, newDeadline);
if (homeworkToUpdate.isCompleted()) {
newHomework.markAsDone();
}
updateHomework(student, homeworkToUpdate, newHomework);

return new CommandResult(
Original file line number Diff line number Diff line change
@@ -90,6 +90,7 @@ public CommandResult execute(Model model) throws CommandException {
dupNames = new StringBuilder(dupNames.substring(0, dupNames.length() - 2));
throw new CommandException(String.format(Messages.MESSAGE_HAS_DUPLICATE_NAMES, dupNames));
}

model.updateFilteredStudentList(predicate);

List<Student> studentList = model.getFilteredStudentList();
4 changes: 3 additions & 1 deletion src/main/java/seedu/address/logic/parser/ParserUtil.java
Original file line number Diff line number Diff line change
@@ -46,10 +46,11 @@ public class ParserUtil {
"yyyy/MM/dd'T'HH:mm", "yyyy-MM-dd HHmm",
"yyyy-MM-dd HH:mm", "dd MMM yyyy HHmm",
"dd MMM yyyy HH:mm", "MMM dd, yyyy HHmm",
"MMM dd, yyyy HH:mm", "dd-mm-yyyy HHmm"
"MMM dd, yyyy HH:mm"
};
//@@author


/**
* Parses {@code oneBasedIndex} into an {@code Index} and returns it. Leading and trailing whitespaces will be
* trimmed.
@@ -432,4 +433,5 @@ public static Grade parseGrade(String grade) throws ParseException {
}
return res;
}

}
Original file line number Diff line number Diff line change
@@ -52,8 +52,8 @@ public CreateExamCommand parse(String args) throws ParseException {
throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT,
CreateExamCommand.MESSAGE_USAGE));
}
LocalDateTime startTime = ParserUtil.parseDeadline(argMultimap.getValue(PREFIX_STARTTIME).get());
LocalDateTime endTime = ParserUtil.parseDeadline(argMultimap.getValue(PREFIX_ENDTIME).get());
LocalDateTime startTime = ParserUtil.parseStartTime(argMultimap.getValue(PREFIX_STARTTIME).get());
LocalDateTime endTime = ParserUtil.parseEndTime(argMultimap.getValue(PREFIX_ENDTIME).get());
List<String> nameKeywords = argMultimap.getAllValues(PREFIX_NAME);

Double weightage = null;
5 changes: 4 additions & 1 deletion src/main/java/seedu/address/model/Model.java
Original file line number Diff line number Diff line change
@@ -86,6 +86,9 @@ public interface Model {
void updateFilteredStudentList(Predicate<Student> predicate);

boolean hasDuplicateName(String name);

boolean hasDuplicateNameEdit(String name, Integer index);
boolean hasExtendedName(String name);
boolean hasExtendedNameEdit(String name, Integer index);
boolean noSuchStudent(String name);
boolean hasDuplicateNameAdd(String toString);
}
50 changes: 50 additions & 0 deletions src/main/java/seedu/address/model/ModelManager.java
Original file line number Diff line number Diff line change
@@ -147,6 +147,9 @@ public boolean equals(Object obj) {
&& filteredPersons.equals(other.filteredPersons);
}

/**
* Returns true if the model has a student whose name is part of the input name.
*/
@Override
public boolean hasDuplicateName(String name) {
int count = 0;
@@ -158,6 +161,53 @@ public boolean hasDuplicateName(String name) {
return count >= 2;
}

@Override
public boolean hasDuplicateNameAdd(String name) {
int count = 0;
for (Student s : filteredPersons) {
if (s.getName().toString().contains(name)) {
count++;
}
}
return count >= 1;
}

@Override
public boolean hasDuplicateNameEdit(String name, Integer index) {
int count = 0;
for (int i = 0; i < filteredPersons.size(); i++) {
if (filteredPersons.get(i).getName().toString().contains(name) && i != index) {
count++;
}
}
return count >= 1;
}

/**
* Returns true if the model has a student whose name is part of the input name.
*/
@Override
public boolean hasExtendedName(String name) {
int count = 0;
for (Student s : filteredPersons) {
if (name.contains(s.getName().toString())) {
count++;
}
}
return count >= 1;
}

@Override
public boolean hasExtendedNameEdit(String name, Integer index) {
int count = 0;
for (int i = 0; i < filteredPersons.size(); i++) {
if (name.contains(filteredPersons.get(i).getName().toString()) && i != index) {
count++;
}
}
return count >= 1;
}

@Override
public boolean noSuchStudent(String name) {
for (Student s : filteredPersons) {
8 changes: 5 additions & 3 deletions src/main/java/seedu/address/ui/exam/ExamCard.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package seedu.address.ui.exam;

import java.time.format.DateTimeFormatter;

import javafx.fxml.FXML;
import javafx.scene.control.Label;
import javafx.scene.layout.HBox;
@@ -11,7 +13,7 @@
* A UI component that displays information of a {@code Person}.
*/
public class ExamCard extends UiPart<Region> {

private static final DateTimeFormatter PRINT_FORMATTER = DateTimeFormatter.ofPattern("dd MMM yyyy HH:mm");
private static final String FXML = "ExamListCard.fxml";

@FXML
@@ -35,8 +37,8 @@ public ExamCard(Exam exam, int id) {
super(FXML);
this.id.setText(id + ". ");
title.setText(exam.getDescription());
startTime.setText(exam.getStartTime().toString());
endTime.setText(exam.getEndTime().toString());
startTime.setText(exam.getStartTime().format(PRINT_FORMATTER));
endTime.setText(exam.getEndTime().format(PRINT_FORMATTER));
}

@Override
7 changes: 5 additions & 2 deletions src/main/java/seedu/address/ui/lesson/LessonCard.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package seedu.address.ui.lesson;

import java.time.format.DateTimeFormatter;

import javafx.fxml.FXML;
import javafx.scene.control.Label;
import javafx.scene.layout.HBox;
@@ -11,6 +13,7 @@
* A UI component that displays information of a {@code Person}.
*/
public class LessonCard extends UiPart<Region> {
private static final DateTimeFormatter PRINT_FORMATTER = DateTimeFormatter.ofPattern("dd MMM yyyy HH:mm");
private static final String FXML = "LessonListCard.fxml";
private static final String DOT = ". ";

@@ -35,8 +38,8 @@ public LessonCard(Lesson lesson, int id) {
super(FXML);
this.id.setText(id + DOT);
title.setText(lesson.getTitle());
startTime.setText(lesson.getStartTimeString());
endTime.setText(lesson.getEndTimeString());
startTime.setText(lesson.getStartTime().format(PRINT_FORMATTER));
endTime.setText(lesson.getEndTime().format(PRINT_FORMATTER));
}

@Override
Loading