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-T10-1] EasInternship #12

Open
wants to merge 536 commits into
base: master
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
536 commits
Select commit Hold shift + click to select a range
c857796
Merge branch 'master' into branch-Deadline
Ridiculouswifi Nov 2, 2024
5d1ce3b
Add getUsage of CalendarCommand to HelpCommand
Ridiculouswifi Nov 2, 2024
9ef44b8
Merge branch 'master' into branch-UiClass
Ridiculouswifi Nov 2, 2024
76e2d70
Refactor output of SortCommand
Ridiculouswifi Nov 2, 2024
7519ed2
Refactor HelpCommand, FAQ and Invalid inputs section in User Guide
Ridiculouswifi Nov 2, 2024
2e352a4
Merge pull request #113 from Ridiculouswifi/branch-UiClass
Toby-Yu Nov 2, 2024
a981c93
Refactor FilterCommand and DeleteCommand Sections
Ridiculouswifi Nov 2, 2024
17c9e4f
Add CalendarCommand section
Ridiculouswifi Nov 2, 2024
a31f977
Refactor Update and Remove Command sections
Ridiculouswifi Nov 2, 2024
5e40e81
update the ug for stanard output for sortCommand
Toby-Yu Nov 2, 2024
c3420a6
Merge pull request #104 from Toby-Yu/Update-Value-proposition-and-use…
Toby-Yu Nov 2, 2024
4ebe02c
Add List Command section
Ridiculouswifi Nov 2, 2024
aa50d7c
update 1 in DG of user stories
Toby-Yu Nov 2, 2024
9057ad7
Edit Product Description
Ridiculouswifi Nov 2, 2024
78674a5
Update DeveloperGuide.md
Ridiculouswifi Nov 2, 2024
75e6c48
Merge pull request #115 from Toby-Yu/update1-in-user-stories
Toby-Yu Nov 3, 2024
e379b66
Merge pull request #112 from Ridiculouswifi/branch-Deadline
Toby-Yu Nov 3, 2024
6e06461
added assertions to internship and internshiplist
jadenlimjc Nov 3, 2024
a845e99
Resolve merge conflicts
rahuljai-05 Nov 3, 2024
f6141c8
edited plantUML diagrams
jadenlimjc Nov 3, 2024
8d87fa8
Merge pull request #114 from Toby-Yu/Update-the-output-format-in-UG
Toby-Yu Nov 3, 2024
745f6a7
Merge pull request #82 from rahuljai-05/Rahul-Favourites
rahuljai-05 Nov 3, 2024
5c77d44
Resolve merge conflict
Ridiculouswifi Nov 3, 2024
4f2eb98
Revert to previous commit
Ridiculouswifi Nov 3, 2024
406db4b
Resolve merge conflicts
Ridiculouswifi Nov 3, 2024
e686898
some code format
Toby-Yu Nov 4, 2024
fac6eaf
Add sort by all field in the favourite internship list and add corres…
Toby-Yu Nov 4, 2024
aed8575
change some name standard
Toby-Yu Nov 4, 2024
3ca5b92
Merge pull request #105 from Ridiculouswifi/branch-UserGuide
Toby-Yu Nov 4, 2024
36d64fb
fixed error with assertions
jadenlimjc Nov 4, 2024
0b2105e
merge with assertion branch
jadenlimjc Nov 4, 2024
94552d9
Merge branch 'master' into add-sort-favouritei-in-sortCommand
Toby-Yu Nov 4, 2024
b1b4d50
Merge pull request #118 from jadenlimjc/branch-updatePlantUML
Toby-Yu Nov 4, 2024
da82c2d
fixed bug where TOCs was not working as expected
jadenlimjc Nov 4, 2024
337ae2f
Merge pull request #122 from Toby-Yu/add-sort-favouritei-in-sortCommand
Toby-Yu Nov 4, 2024
1f427e0
Merge branch 'AY2425S1-CS2113-T10-1:master' into master
Toby-Yu Nov 4, 2024
8eeeb80
add some assertion for the SortCommand and add sort company and sort …
Toby-Yu Nov 4, 2024
3f1d3ed
change some code format
Toby-Yu Nov 4, 2024
8c376cc
remove one assertion
Toby-Yu Nov 4, 2024
822187a
Merge pull request #123 from Toby-Yu/add-sort-company-in-SortCommand
Toby-Yu Nov 4, 2024
b3c35fd
updated DG
jadenlimjc Nov 5, 2024
1b70ab5
Merge branch 'master' into branch-updateDG
jadenlimjc Nov 5, 2024
f83c8da
updated Storage to deal with manual edits of .txt file
jadenlimjc Nov 5, 2024
fd5db62
minor bugfixes to DG
jadenlimjc Nov 5, 2024
e5f2ecb
Merge branch 'master' into branch-updateStorage
jadenlimjc Nov 5, 2024
42ac7e7
Merge pull request #125 from jadenlimjc/branch-updateDG
jadenlimjc Nov 5, 2024
24d6040
Add assertions to UpdateCommand
Ridiculouswifi Nov 6, 2024
1f12958
Merge branch 'master' into branch-updateStatus
Ridiculouswifi Nov 6, 2024
6ac0dc4
Add assertion to updateStatus method
Ridiculouswifi Nov 6, 2024
7cedb60
updated Storage to skip over corrupted lines instead of deleting the …
jadenlimjc Nov 6, 2024
f471c32
Merge pull request #127 from jadenlimjc/branch-updateStorage
jadenlimjc Nov 7, 2024
d86dc15
removed bugged assertion
jadenlimjc Nov 7, 2024
db1ed27
Fix bugs
rahuljai-05 Nov 7, 2024
b4684ee
Delete Duke placeholder file
rahuljai-05 Nov 7, 2024
9dd2671
Merge branch 'master' into branch-updateStatus
Ridiculouswifi Nov 7, 2024
760aa1e
Set up simple logging system
Ridiculouswifi Nov 7, 2024
1ecb997
Refactor with proper variable names
Ridiculouswifi Nov 7, 2024
4b78b3c
Fix checkstyle errors
Ridiculouswifi Nov 7, 2024
8f686a2
Add logging to StorageClass
Ridiculouswifi Nov 7, 2024
329937a
Remove unnecessary BotLogger class
Ridiculouswifi Nov 7, 2024
62bb1f2
Remove Duke Class
Ridiculouswifi Nov 7, 2024
9f47e01
Set up to accept folder without Duke class
Ridiculouswifi Nov 7, 2024
c6129a5
Clean up code
rahuljai-05 Nov 7, 2024
d7bc315
Merge pull request #128 from Ridiculouswifi/branch-updateStatus
rahuljai-05 Nov 7, 2024
39dcbc4
Remove unused imports
rahuljai-05 Nov 7, 2024
01a52f0
Add logging to InternshipList
Ridiculouswifi Nov 7, 2024
a661e3e
Add logging to Parser
Ridiculouswifi Nov 7, 2024
3613f47
Add logging to Command Classes
Ridiculouswifi Nov 7, 2024
db70294
Merge branch 'master' into branch-UserGuide
Ridiculouswifi Nov 7, 2024
bdb3d56
Error message for repeated flags in FilterCommand
rahuljai-05 Nov 7, 2024
8cb8202
Merge pull request #131 from rahuljai-05/Rahul-BugFixes
rahuljai-05 Nov 7, 2024
52211f6
Merge branch 'master' into branch-Assertions
jadenlimjc Nov 7, 2024
033aeac
Merge branch 'master' into branch-updateStatus
Ridiculouswifi Nov 7, 2024
5720a65
Fix merge conflicts
Ridiculouswifi Nov 7, 2024
a5a7bdb
Merge branch 'master' into branch-UserGuide
Ridiculouswifi Nov 7, 2024
a14d465
Add Command Summary
Ridiculouswifi Nov 7, 2024
0791a24
Add FilterCommand and FavouriteCommand to UG
rahuljai-05 Nov 7, 2024
450295b
Fix bug with favourite command
rahuljai-05 Nov 7, 2024
31165a0
Update InternshipList.java
jadenlimjc Nov 7, 2024
99b0121
Merge pull request #116 from jadenlimjc/branch-Assertions
rahuljai-05 Nov 7, 2024
eec6164
Add anchor link
rahuljai-05 Nov 7, 2024
561358b
Merge pull request #132 from Ridiculouswifi/branch-updateStatus
jadenlimjc Nov 7, 2024
5d6d13a
Merge pull request #133 from Ridiculouswifi/branch-UserGuide
jadenlimjc Nov 7, 2024
2bf5b29
Merge pull request #137 from rahuljai-05/Rahul-UserGuide
jadenlimjc Nov 7, 2024
4fbf228
Add PPP
rahuljai-05 Nov 7, 2024
cd68425
Handle invalid date inputs for AddCommand
rahuljai-05 Nov 7, 2024
912ac9c
Merge pull request #140 from rahuljai-05/Rahul-AddCommandBugFix
rahuljai-05 Nov 7, 2024
b5c7b92
Merge pull request #139 from rahuljai-05/Rahul-PPP
rahuljai-05 Nov 7, 2024
a613cc0
Fix bug
rahuljai-05 Nov 7, 2024
90fad1a
Merge pull request #141 from rahuljai-05/Rahul-UgBugFix
Ridiculouswifi Nov 7, 2024
f90ddd2
make UG ,DG, and the actual usage of SortCommand is consistent. Also …
Toby-Yu Nov 10, 2024
39c217f
Add slightly change in format of the sort in UG
Toby-Yu Nov 10, 2024
ba72ad7
add Toby pic in about us page
Toby-Yu Nov 10, 2024
57d79be
Update loading: Revert status when status is corrupted in data file
Ridiculouswifi Nov 10, 2024
74b8f97
Merge pull request #213 from Toby-Yu/Address-bug-for-PE-1
Ridiculouswifi Nov 10, 2024
4d7be1f
Merge pull request #214 from Toby-Yu/modify-UG-sortCommand-1
Ridiculouswifi Nov 10, 2024
75fd0f0
Fix typo in invalid status message
Ridiculouswifi Nov 10, 2024
fca8661
issue 210
jadenlimjc Nov 10, 2024
c9c53ca
issue 185, issue 208, issue 146
jadenlimjc Nov 10, 2024
04bf534
Update invalid deadline message to be clearer
Ridiculouswifi Nov 10, 2024
7436645
issue 202, issue 187
jadenlimjc Nov 10, 2024
93e100a
Updating deadline ignores all inputs after a valid date
Ridiculouswifi Nov 10, 2024
a3cd1bb
updated all diagrams
jadenlimjc Nov 10, 2024
c5f19c7
fixed dg related issues
jadenlimjc Nov 10, 2024
99d511d
Fix issue #180
rahuljai-05 Nov 10, 2024
9da9dca
Remove static keywords
rahuljai-05 Nov 10, 2024
c6837d8
Fix checkstyle errors
Ridiculouswifi Nov 10, 2024
3892a26
issue 200
jadenlimjc Nov 10, 2024
7ae0f1d
issue 199, issue 197
jadenlimjc Nov 10, 2024
b675f0b
issue 179
jadenlimjc Nov 10, 2024
20f73b8
improve the sortCommand usage
Toby-Yu Nov 10, 2024
cd43813
updated loadFromFile
jadenlimjc Nov 10, 2024
b8b2577
fixed checkstyle errors
jadenlimjc Nov 10, 2024
966e859
Change the sorting method of sort -status and sort -status in favouri…
Toby-Yu Nov 10, 2024
83fcff9
change the code format
Toby-Yu Nov 10, 2024
91dbfea
issue 172
jadenlimjc Nov 10, 2024
c086c29
issue 170
jadenlimjc Nov 10, 2024
f1945e9
issue 165
jadenlimjc Nov 10, 2024
da35bae
issue 159
jadenlimjc Nov 10, 2024
0b7ce86
Date inputs are stricter
Ridiculouswifi Nov 11, 2024
0031253
Lenient dat parsing in the Internship class
Ridiculouswifi Nov 11, 2024
f1975b5
Edit getUsage messages for UpdateCommand and RemoveCommand
Ridiculouswifi Nov 11, 2024
6fb4fff
Disallow duplicate skills
Ridiculouswifi Nov 11, 2024
3d8351c
Merge branch 'master' into branch-updateStatus
Ridiculouswifi Nov 11, 2024
61a96b5
Edit Update and Remove commands sections in User Guide
Ridiculouswifi Nov 11, 2024
123701c
Merge branch 'master' into branch-Deadline
Ridiculouswifi Nov 11, 2024
c122079
Add company name to calendar function output
Ridiculouswifi Nov 11, 2024
844902e
Separate print date function to shorten showCalendar method
Ridiculouswifi Nov 11, 2024
aa0dc28
Update Calendar example in User Guide
Ridiculouswifi Nov 11, 2024
087232d
Merge branch 'master' into branch-DeveloperGuide
Ridiculouswifi Nov 11, 2024
45b41fd
Merge pull request #215 from Ridiculouswifi/branch-updateStatus
Ridiculouswifi Nov 11, 2024
493b221
Merge pull request #218 from Toby-Yu/change-sortCommand-Usage
Ridiculouswifi Nov 11, 2024
f601f5b
Merge pull request #223 from Ridiculouswifi/branch-Deadline
Ridiculouswifi Nov 11, 2024
c2737fa
fixed checkstyle issues
jadenlimjc Nov 11, 2024
6167ccb
fixed checkstyle errors
jadenlimjc Nov 11, 2024
a1f86b8
Merge pull request #221 from jadenlimjc/branch-UGIssues
jadenlimjc Nov 11, 2024
62b939b
Merge branch 'master' into branch-fixStorageIssues
jadenlimjc Nov 11, 2024
0117cda
Edit UpdateCommand Sequence Diagram
Ridiculouswifi Nov 11, 2024
bba7503
Merge branch 'master' into branch-DeveloperGuide
Ridiculouswifi Nov 11, 2024
be7c253
fixed checkstyle errors
jadenlimjc Nov 11, 2024
81c7d56
Merge remote-tracking branch 'origin/branch-fixStorageIssues' into br…
jadenlimjc Nov 11, 2024
200f827
fixed checkstyle errors
jadenlimjc Nov 11, 2024
53758c8
Edit RemoveCommand Sequence Diagram
Ridiculouswifi Nov 11, 2024
1bd4013
changed incorrect detection to work in storage file instead
jadenlimjc Nov 11, 2024
0e5c359
issue 225
jadenlimjc Nov 11, 2024
6d89e4a
fix checkstyle errors
jadenlimjc Nov 11, 2024
5a76180
Refactor code according to code quality guidelines
rahuljai-05 Nov 11, 2024
199d731
Resolve merge conflicts
rahuljai-05 Nov 11, 2024
b5b3555
Fix error
rahuljai-05 Nov 11, 2024
f15f1b8
Fix checkstyle errors
rahuljai-05 Nov 11, 2024
fb8a56a
Merge pull request #220 from jadenlimjc/branch-fixStorageIssues
jadenlimjc Nov 11, 2024
f84f24a
Fix checkstyle errors
rahuljai-05 Nov 11, 2024
815730b
Resolve merge conflicts
rahuljai-05 Nov 11, 2024
db6bc6f
javaDoc comments for InternshipList
jadenlimjc Nov 11, 2024
14b5b4d
Wrap lines
rahuljai-05 Nov 11, 2024
123e42d
Fix comment spacing
rahuljai-05 Nov 11, 2024
fb1c148
Add CalendarCommand Section to DG
Ridiculouswifi Nov 11, 2024
725a672
javaDov comments for AddCommand and DeleteCommand
jadenlimjc Nov 11, 2024
9832119
update readme
Toby-Yu Nov 11, 2024
7c987b4
javaDoc comments for Deadline
jadenlimjc Nov 11, 2024
9a37430
Merge pull request #227 from jadenlimjc/master
Toby-Yu Nov 11, 2024
b23a709
Add acknowledgements and Edit links in the index
Ridiculouswifi Nov 11, 2024
1218ecb
javaDoc comments for Internship
jadenlimjc Nov 11, 2024
3e50a29
Change main application location
rahuljai-05 Nov 11, 2024
26714eb
javaDoc comments for Storage
jadenlimjc Nov 11, 2024
a440ad3
Resolve merge conflicts
rahuljai-05 Nov 11, 2024
8f53436
updated to fix checkstyle errors
jadenlimjc Nov 11, 2024
775e010
add the respo code comment
Toby-Yu Nov 11, 2024
b46faa3
Merge pull request #226 from rahuljai-05/Rahul-PEdryBugFixes
jadenlimjc Nov 11, 2024
9de2494
remove the comment
Toby-Yu Nov 11, 2024
3f9e20e
Add Ui Class Diagram to DG
Ridiculouswifi Nov 11, 2024
de09982
Merge branch 'master' into modify-ReadMe
Toby-Yu Nov 11, 2024
a5d270d
solve merge conflicts
Toby-Yu Nov 11, 2024
6f59eb6
Merge pull request #228 from Toby-Yu/modify-ReadMe
Toby-Yu Nov 11, 2024
6fafa8b
Chnage Filter Command sequence diagram
rahuljai-05 Nov 11, 2024
d921a10
Edit return message for Remove deadline
Ridiculouswifi Nov 11, 2024
b0caf45
Merge branch 'master' into branch-updateStatus
Ridiculouswifi Nov 11, 2024
50de97a
Merge branch 'master' into branch-DeveloperGuide
Ridiculouswifi Nov 11, 2024
413b2f7
Fix variable typo
Ridiculouswifi Nov 11, 2024
7bb8a30
Merge branch 'master' into branch-updateStatus
Ridiculouswifi Nov 11, 2024
f9071a5
Refactor package name
Ridiculouswifi Nov 11, 2024
b53cb8d
Merge pull request #224 from Ridiculouswifi/branch-DeveloperGuide
Ridiculouswifi Nov 11, 2024
056b65c
Edit build.gradle file
Ridiculouswifi Nov 11, 2024
05a86f0
Merge branch 'master' into branch-PPP
Ridiculouswifi Nov 11, 2024
ad68f38
Merge branch 'master' of https://github.com/AY2425S1-CS2113-T10-1/tp …
jadenlimjc Nov 11, 2024
22937d0
updated ReadME to change link to PPP
jadenlimjc Nov 11, 2024
c3ac4e6
update sortCommandtest and toby PPP
Toby-Yu Nov 11, 2024
dcca787
change to pass the auto test
Toby-Yu Nov 11, 2024
f943baa
Merge pull request #232 from jadenlimjc/branch-updateUG
jadenlimjc Nov 11, 2024
9b43380
updated PPP PR linkes
jadenlimjc Nov 11, 2024
a28583d
Merge branch 'AY2425S1-CS2113-T10-1:master' into branch-updateUG
jadenlimjc Nov 11, 2024
42c76a4
Merge pull request #234 from jadenlimjc/branch-updateUG
jadenlimjc Nov 11, 2024
d0a4f42
Merge pull request #233 from Toby-Yu/update-sortCommandtest-Junit-test
jadenlimjc Nov 11, 2024
b8a77b8
Update PPP
Ridiculouswifi Nov 11, 2024
eb232b3
Merge branch 'master' of https://github.com/Ridiculouswifi/tp into br…
Ridiculouswifi Nov 11, 2024
bf1597e
Merge pull request #231 from Ridiculouswifi/branch-updateStatus
Ridiculouswifi Nov 11, 2024
012c588
Edit README page
Ridiculouswifi Nov 11, 2024
ed24c5a
Standardise PPP Overview
Ridiculouswifi Nov 11, 2024
da16a91
Merge branch 'master' into branch-PPP
Ridiculouswifi Nov 11, 2024
2ebc7e1
Merge pull request #235 from Ridiculouswifi/branch-PPP
Ridiculouswifi Nov 11, 2024
2832a01
Add FavouriteCommand to DG
rahuljai-05 Nov 11, 2024
fb011b5
Merge branch 'master' into branch-PPP
Ridiculouswifi Nov 11, 2024
09065d5
added fullstops
jadenlimjc Nov 11, 2024
8a4477d
Resolve merge conflicts
rahuljai-05 Nov 11, 2024
548e314
Add full stops to ridiculouswifi PPP
Ridiculouswifi Nov 11, 2024
4f184f2
Fix typo in README
Ridiculouswifi Nov 11, 2024
2c7ae2f
Merge pull request #237 from Ridiculouswifi/branch-PPP
Ridiculouswifi Nov 11, 2024
74b94c3
Merge pull request #238 from jadenlimjc/master
jadenlimjc Nov 11, 2024
89c56bd
Merge pull request #230 from rahuljai-05/Rahul-FilterCommandDiagramUp…
jadenlimjc Nov 11, 2024
df3563c
Add Sequence Diagram for FavouriteCommand
rahuljai-05 Nov 11, 2024
0fd3e47
Resolve merge conflicts
rahuljai-05 Nov 11, 2024
131559d
Add sequence diagram image to DG
rahuljai-05 Nov 11, 2024
471f7a5
Add link to PPP in AboutUs
Ridiculouswifi Nov 11, 2024
63b183c
Merge pull request #236 from rahuljai-05/Rahul-FavouriteCommandDG
jadenlimjc Nov 11, 2024
8ce6a6c
Add personal photo ridiculouswifi
Ridiculouswifi Nov 11, 2024
4ab68b5
Merge pull request #239 from Ridiculouswifi/master
Ridiculouswifi Nov 11, 2024
1008964
updated seq diagram return statements
jadenlimjc Nov 11, 2024
f865a50
Merge pull request #240 from jadenlimjc/master
jadenlimjc Nov 11, 2024
15caea5
edit PPP
rahuljai-05 Nov 11, 2024
02d0018
Remove lines from UG
rahuljai-05 Nov 11, 2024
7995984
Remove commit hash from DG
rahuljai-05 Nov 11, 2024
45f6d18
Merge pull request #241 from rahuljai-05/Rahul-PPPv2.0
rahuljai-05 Nov 11, 2024
1352441
Add FilterCommand and FavouriteCommand to DG index
rahuljai-05 Nov 11, 2024
b14e13d
Put FilterCommand sequence diagram after text
rahuljai-05 Nov 11, 2024
d6e508c
Add info to AboutUs page
rahuljai-05 Nov 11, 2024
dea315d
Merge pull request #242 from rahuljai-05/Rahul-DGBugFix
jadenlimjc Nov 11, 2024
059a305
Merge branch 'master' into branch-UserGuide
Ridiculouswifi Nov 11, 2024
09bab19
fix sortDeadline bug
jadenlimjc Nov 11, 2024
297a94c
remove unused imports
jadenlimjc Nov 11, 2024
fd0d1e6
Merge pull request #243 from jadenlimjc/branch-fixSortDeadline
jadenlimjc Nov 11, 2024
f9f5304
Edit output until sort in UG
Ridiculouswifi Nov 11, 2024
436d263
Edit build.gradel file
Ridiculouswifi Nov 11, 2024
3af15e0
Merge branch 'master' into branch-UserGuide
Ridiculouswifi Nov 11, 2024
eb0bcfe
updated rahul ppp link
jadenlimjc Nov 11, 2024
6822a85
Fix example outputs in UG
Ridiculouswifi Nov 11, 2024
eb0c341
Merge pull request #244 from jadenlimjc/master
jadenlimjc Nov 11, 2024
9ae7b61
Add link to release in UG
Ridiculouswifi Nov 11, 2024
2ef4ae8
Merge pull request #245 from Ridiculouswifi/branch-UserGuide
Ridiculouswifi Nov 11, 2024
321db83
Expand on FAQ in UG
Ridiculouswifi Nov 11, 2024
f498466
Merge pull request #246 from Ridiculouswifi/branch-UserGuide
Ridiculouswifi Nov 11, 2024
7939542
Merge branch 'master' into branch-DeveloperGuide
Ridiculouswifi Nov 11, 2024
b67f3bc
Fix formatting errors in DG
Ridiculouswifi Nov 11, 2024
9370144
Merge pull request #247 from Ridiculouswifi/branch-DeveloperGuide
Ridiculouswifi Nov 11, 2024
09aceec
Merge branch 'master' into branch-Deadline
Ridiculouswifi Nov 12, 2024
7075407
Fix sort by deadline
Ridiculouswifi Nov 12, 2024
78e041b
Merge pull request #248 from Ridiculouswifi/branch-Deadline
Ridiculouswifi Nov 12, 2024
43cb864
Fix Sequence Diagram in DG
Ridiculouswifi Nov 12, 2024
cdc92c4
Fix Sequence Diagram in DG
Ridiculouswifi Nov 12, 2024
578c13c
Fix Sequence Diagram in DG
Ridiculouswifi Nov 12, 2024
62c0084
Update jar link in UG
Ridiculouswifi 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
Prev Previous commit
Next Next commit
Add sort by all field in the favourite internship list and add corres…
…ponding change in UG and DG for SortCommand
Toby-Yu committed Nov 4, 2024
commit fac6eaf08299f8d27e3c1b1235128e6fc181d9c4
23 changes: 14 additions & 9 deletions docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
@@ -190,27 +190,32 @@ The `SortCommand` class is responsible for sorting the internship listings based
- `"deadline"`: Sorts internships by deadline.
- `"skills"`: Sorts internships by the first skill in the skills list alphabetically.
- `"status"`: Sorts internships by status alphabetically.
- `"role in favourite"`: Sorts internships in favourite by role alphabetically.
- `"duration in favourite"`: Sorts internships in favourite by duration (start and end dates).
- `"deadline in favourite"`: Sorts internships in favourite by deadline.
- `"skills in favourite"`: Sorts internships in favourite by the first skill in the skills list alphabetically.
- `"status in favourite"`: Sorts internships in favourite by status alphabetically.
- If the user provides an invalid sort option, the command returns an error and defaults to listing internships by ID.
- **`getUsage()`**: Returns a string showing the correct usage of the `sort` command, including valid options like "alphabet", "deadline", "duration", "skills", and "status".

#### Example Usage Scenario:
1. The user enters `sort alphabet`, and the `execute` method sorts the internships by role.
1. The user enters `sort role`, and the `execute` method sorts the internships by role.
2. The user enters `sort duration`, and the internships are sorted by their start and end dates.
3. The user enters `sort skills`, and the internships are sorted by the first skill alphabetically.
4. The user enters `sort status`, and the internships are sorted by their status alphabetically.
5. The user enters `sort deadline`, and the internships are sorted by each of their earliest deadline.
5. If the user enters an invalid sort option, the command returns an error and lists the internships by ID.
6. The user enters `sort role in favourite`, and the `execute` method sorts the internships in favourite by role.
7. The user enters `sort duration in favourite`, and the internships in favourite are sorted by their start and end dates.
8. The user enters `sort skills in favourite`, and the internships in favourite are sorted by the first skill alphabetically.
9. The user enters `sort status in favourite`, and the internships in favourite are sorted by their status alphabetically.
10. The user enters `sort deadline in favourite`, and the internships in favourite are sorted by each of their earliest deadline.
11. If the user enters an invalid sort option, the command returns an error and lists the internships by ID.

#### Sequence Diagram:
The following sequence diagram shows how the `SortCommand` is executed:
![](UML/loadFromFile.png)
![](UML/SortCommand_Sequence_Diagram.png)


```plaintext
User -> System: sort alphabet
System -> SortCommand: execute("alphabet")
SortCommand -> InternshipList: listInternshipsSortedByRole()
InternshipList -> UI: showSortedInternshipsByRole()
```
### Filter Command Implementation

#### Overview:
170 changes: 118 additions & 52 deletions docs/UserGuide.md
Original file line number Diff line number Diff line change
@@ -159,21 +159,29 @@ __________________________________________________
__________________________________________________
Sorted internships by start date (year first), then end date.
__________________________________________________
ID: 02
Role: Software Engineer Intern
Company: Google
Duration: 05/23 to 08/25
Skills: Not Stated
ID: 3 Status: Accepted
Role: IT support Intern
Company: Microsoft
Duration: 03/24 to 08/24
Skills: Java
Deadlines:
online assessment: 11/11/24
certificate submit: 15/04/24
__________________________________________________
ID: 01
ID: 1 Status: Rejected
Role: Embedded Software Engineer Intern
Company: Continental
Duration: 05/24 to 08/24
Skills: Not Stated
Duration: 05/25 to 08/25
Skills: C++
Deadlines:
interview: 25/11/24
online interview: 12/06/24
__________________________________________________
ID: 2 Status: Application Completed
Role: Customer Service Intern
Company: Google
Duration: 05/25 to 09/25
Skills: Python SQL
Deadlines:
interview reply: 12/04/24
__________________________________________________
__________________________________________________
```
@@ -185,22 +193,29 @@ __________________________________________________
__________________________________________________
Sorted internships by role alphabetically (case-insensitive).
__________________________________________________
ID: 01
ID: 2 Status: Application Completed
Role: Customer Service Intern
Company: Google
Duration: 05/25 to 09/25
Skills: Python SQL
Deadlines:
interview reply: 12/04/24
__________________________________________________
ID: 1 Status: Rejected
Role: Embedded Software Engineer Intern
Company: Continental
Duration: 05/25 to 08/25
Skills: Not Stated
Skills: C++
Deadlines:
interview: 25/11/24


ID: 02
Role: Software Engineer Intern
Company: Google
Duration: Not Stated
Skills: Not Stated
online interview: 12/06/24
__________________________________________________
ID: 3 Status: Accepted
Role: IT support Intern
Company: Microsoft
Duration: 03/24 to 08/24
Skills: Java
Deadlines:
online assessment: 11/11/24
certificate submit: 15/04/24
__________________________________________________
__________________________________________________
```
@@ -212,21 +227,29 @@ __________________________________________________
__________________________________________________
Sorted internships by deadline.
__________________________________________________
ID: 02
Role: Software Engineer Intern
ID: 2 Status: Application Completed
Role: Customer Service Intern
Company: Google
Duration: 05/23 to 08/25
Skills: Not Stated
Duration: 05/25 to 09/25
Skills: Python SQL
Deadlines:
online assessment: 11/11/24

ID: 01
interview reply: 12/04/24
__________________________________________________
ID: 3 Status: Accepted
Role: IT support Intern
Company: Microsoft
Duration: 03/24 to 08/24
Skills: Java
Deadlines:
certificate submit: 15/04/24
__________________________________________________
ID: 1 Status: Rejected
Role: Embedded Software Engineer Intern
Company: Continental
Duration: 05/24 to 08/24
Skills: Not Stated
Duration: 05/25 to 08/25
Skills: C++
Deadlines:
interview: 25/11/24
online interview: 12/06/24
__________________________________________________
__________________________________________________
```
@@ -238,46 +261,89 @@ __________________________________________________
__________________________________________________
Sorted internships by skills.
__________________________________________________
ID: 1 Status: Application Completed
ID: 1 Status: Rejected
Role: Embedded Software Engineer Intern
Company: Google
Duration: 02/23 to 05/24
Skills: No Skills Entered
Company: Continental
Duration: 05/25 to 08/25
Skills: C++
Deadlines:
interview: 25/11/24
online interview: 12/06/24
__________________________________________________
ID: 2 Status: Accepted
Role: Marketing sales
Company: Castify
Duration: 05/23 to 05/24
Skills: No Skills Entered
ID: 3 Status: Accepted
Role: IT support Intern
Company: Microsoft
Duration: 03/24 to 08/24
Skills: Java
Deadlines:
online assessment: 11/11/24
certificate submit: 15/04/24
__________________________________________________
ID: 2 Status: Application Completed
Role: Customer Service Intern
Company: Google
Duration: 05/25 to 09/25
Skills: Python SQL
Deadlines:
interview reply: 12/04/24
__________________________________________________
__________________________________________________
```

`sort -status`

```
__________________________________________________
__________________________________________________
Sorted internships by status.
__________________________________________________
ID: 2 Status: Accepted
Role: Marketing sales
Company: Castify
Duration: 05/23 to 05/24
Skills: No Skills Entered
ID: 3 Status: Accepted
Role: IT support Intern
Company: Microsoft
Duration: 03/24 to 08/24
Skills: Java
Deadlines:
online assessment: 11/11/24
certificate submit: 15/04/24
__________________________________________________
ID: 1 Status: Application Completed
ID: 2 Status: Application Completed
Role: Customer Service Intern
Company: Google
Duration: 05/25 to 09/25
Skills: Python SQL
Deadlines:
interview reply: 12/04/24
__________________________________________________
ID: 1 Status: Rejected
Role: Embedded Software Engineer Intern
Company: Continental
Duration: 05/25 to 08/25
Skills: C++
Deadlines:
online interview: 12/06/24
__________________________________________________
__________________________________________________
```

`sort -role in favourite`

```
__________________________________________________
__________________________________________________
Sorted internships in favourite by role in favourite.
__________________________________________________
ID: 2 Status: Application Completed
Role: Customer Service Intern
Company: Google
Duration: 02/23 to 05/24
Skills: No Skills Entered
Duration: 05/25 to 09/25
Skills: Python SQL
Deadlines:
interview reply: 12/04/24
__________________________________________________
ID: 1 Status: Rejected
Role: Embedded Software Engineer Intern
Company: Continental
Duration: 05/25 to 08/25
Skills: C++
Deadlines:
interview: 25/11/24
online interview: 12/06/24
__________________________________________________
__________________________________________________
```
26 changes: 24 additions & 2 deletions src/main/java/seedu/commands/SortCommand.java
Original file line number Diff line number Diff line change
@@ -49,6 +49,21 @@ public void execute(ArrayList<String> args) {
case "status":
internships.listInternshipsSortedByStatus(); // Sort by status alphabetically
break;
case "role in favourite":
internships.listFavouriteInternshipsSortedByRole(); // Sort by role alphabetically (case-insensitive)
break;
case "duration in favourite":
internships.listFavouriteInternshipsSortedByDuration(); // Sort by start date, then end date (year first)
break;
case "deadline in favourite":
internships.listFavouriteInternshipsSortedByDeadline();
break;
case "skills in favourite":
internships.listFavouriteInternshipsSortedByFirstSkill(); // Sort by first skill alphabetically
break;
case "status in favourite":
internships.listFavouriteInternshipsSortedByStatus(); // Sort by status alphabetically
break;
default:
// Handle invalid sorting options
internships.listInternshipsInvalidFlag(sortOption);
@@ -59,13 +74,20 @@ public void execute(ArrayList<String> args) {
public String getUsage() {
return """
sort
Usage: sort [role | deadline | duration | skills | status]
Usage: sort [role | duration | deadline | skills | status | role in favourite
| duration in favourite | deadline in favourite
| skills in favourite | status in favourite ]

role: Sort internships alphabetically by role (case-insensitive).
deadline: Sort internships by start date (year first), then end date.
duration: Sort internships by internship duration.
skills: Sort internships by the first skill alphabetically.
status: Sort internships by status alphabetically.
role in favourite: Sort internships in favourite alphabetically by role (case-insensitive).
deadline in favourite: Sort internships in favourite by start date (year first), then end date.
duration in favourite: Sort internships in favourite by internship duration.
skills in favourite: Sort internships in favourite by the first skill alphabetically.
status in favourite: Sort internships in favourite by status alphabetically.
""";
}
}
}
101 changes: 79 additions & 22 deletions src/main/java/seedu/duke/InternshipList.java
Original file line number Diff line number Diff line change
@@ -153,21 +153,29 @@ public int getSize() {
}

//@@author Toby-Yu
// Method to list all internships in sorted order by role (case-insensitive)

/**
* List all internships in sorted order by role alphabetically (case-insensitive)
*/
public void listInternshipsSortedByRole() {
ArrayList<Internship> sortedList = new ArrayList<>(internships);
ArrayList<Internship> sortedInternships = new ArrayList<>(internships);

// Sort roles alphabetically, ignoring case sensitivity
Collections.sort(sortedList, Comparator.comparing(internship -> internship.getRole().toLowerCase()));

// Display the sorted list without changing IDs
ui.showInternships(sortedList, "role");
Collections.sort(sortedInternships, Comparator.comparing(internship -> internship.getRole().toLowerCase()));
ui.showInternships(sortedInternships, "role");
}

// Method to list all internships sorted by start date (year first), then end date
/**
* List all internships sorted by duration (year first, then month) in start date first, then end date
*/
public void listInternshipsSortedByDuration() {
ArrayList<Internship> sortedInternships = new ArrayList<>(internships);

sortedByDurationFunction(sortedInternships);
ui.showInternships(sortedInternships, "duration");
}

private void sortedByDurationFunction(ArrayList<Internship> sortedInternships) {
Collections.sort(sortedInternships, (i1, i2) -> {
// First compare start dates (year then month)
int startComparison = compareYearMonth(i1.getStartDate(), i2.getStartDate());
@@ -177,9 +185,6 @@ public void listInternshipsSortedByDuration() {
// If start dates are equal, compare end dates (year then month)
return compareYearMonth(i1.getEndDate(), i2.getEndDate());
});

// Display the sorted list without changing IDs
ui.showInternships(sortedInternships, "duration");
}

// Helper method to compare YearMonth strings in "MM/yy" format (year first, then month)
@@ -198,11 +203,17 @@ private int compareYearMonth(String date1, String date2) {
return Integer.compare(month1, month2);
}


// Method to list all internships sorted by start date (year first), then end date
/**
* List all internships sorted by the earliest deadline
*/
public void listInternshipsSortedByDeadline() {
ArrayList<Internship> sortedInternships = new ArrayList<>(internships);

SortedByDeadlineFunction(sortedInternships);
ui.showInternships(sortedInternships, "deadline");
}

private void SortedByDeadlineFunction(ArrayList<Internship> sortedInternships) {
sortedInternships.sort((i1, i2) -> {
Deadline earliestDeadline1 = i1.getEarliestDeadline();
Deadline earliestDeadline2 = i2.getEarliestDeadline();
@@ -217,38 +228,84 @@ public void listInternshipsSortedByDeadline() {
}
return compareYearMonth(earliestDeadline1.getDate(), earliestDeadline2.getDate());
});
ui.showInternships(sortedInternships, "deadline");
}

/**
* Lists internships sorted by the first skill alphabetically (case-insensitive).
*/
public void listInternshipsSortedByFirstSkill() {
ArrayList<Internship> sortedList = new ArrayList<>(internships);
ArrayList<Internship> sortedInternships = new ArrayList<>(internships);

SortedByFirstSkillFunction(sortedInternships);
ui.showInternships(sortedInternships, "skills");
}

private static void SortedByFirstSkillFunction(ArrayList<Internship> sortedList) {
// Sort by the first skill alphabetically
Collections.sort(sortedList, Comparator.comparing(internship -> {
String firstSkill = internship.getFirstSkill();
return firstSkill.isEmpty() ? "No skills" : firstSkill.toLowerCase();// Sort internships with no skills last
}));

// Display the sorted list without changing IDs
ui.showInternships(sortedList, "skills");
}

/**
* Lists internships sorted by status alphabetically (case-insensitive).
*/
public void listInternshipsSortedByStatus() {
ArrayList<Internship> sortedList = new ArrayList<>(internships);
ArrayList<Internship> sortedInternships = new ArrayList<>(internships);

// Sort by status alphabetically
Collections.sort(sortedList, Comparator.comparing(internship -> internship.getStatus().toLowerCase()));
Collections.sort(sortedInternships, Comparator.comparing(internship -> internship.getStatus().toLowerCase()));
ui.showInternships(sortedInternships, "status");
}

/**
* List all favourite internships in sorted order by role alphabetically (case-insensitive)
*/
public void listFavouriteInternshipsSortedByRole() {
ArrayList<Internship> sortedInternships = new ArrayList<>(favouriteInternships);
Collections.sort(sortedInternships, Comparator.comparing(internship -> internship.getRole().toLowerCase()));
ui.showInternships(sortedInternships, "role in favourite");
}

/**
* List all internships sorted by duration (year first), then end date
*/
public void listFavouriteInternshipsSortedByDuration() {
ArrayList<Internship> sortedInternships = new ArrayList<>(favouriteInternships);
sortedByDurationFunction(sortedInternships);
ui.showInternships(sortedInternships, "duration in favourite");
}

/**
* List all favourite internships sorted by the earliest deadline
*/
public void listFavouriteInternshipsSortedByDeadline() {
ArrayList<Internship> sortedInternships = new ArrayList<>(favouriteInternships);

SortedByDeadlineFunction(sortedInternships);
ui.showInternships(sortedInternships, "deadline in favourite");
}

/**
* Lists all favourite internships sorted by the first skill alphabetically (case-insensitive).
*/
public void listFavouriteInternshipsSortedByFirstSkill() {
ArrayList<Internship> sortedInternships= new ArrayList<>(favouriteInternships);

// Display the sorted list without changing IDs
ui.showInternships(sortedList, "status");
SortedByFirstSkillFunction(sortedInternships);
ui.showInternships(sortedInternships, "skills in favourite");
}

/**
* Lists all favourite internships sorted by status alphabetically (case-insensitive).
*/
public void listFavouriteInternshipsSortedByStatus() {
ArrayList<Internship> sortedList = new ArrayList<>(favouriteInternships);
Collections.sort(sortedList, Comparator.comparing(internship -> internship.getStatus().toLowerCase()));
ui.showInternships(sortedList, "status in favourite");
}


public void listInternshipsNotSorted() {
ui.showInternships(internships, "none");
}
23 changes: 17 additions & 6 deletions src/main/java/seedu/ui/UiInternshipList.java
Original file line number Diff line number Diff line change
@@ -39,22 +39,33 @@ public void showInternships(ArrayList<Internship> internships, String field) {
* @param field Criteria that internships are sorted by.
*/
public String getSortField(String field) {
String message = "Sorted internships by ";
String messageForNormalInternships = "Sorted internships by ";
String messageForInternshipsInFavourite = "Sorted internships in favourite by ";
switch (field) {
case "list":
return "";
case "none":
return "No sorting option provided. Listing internships by ID.";
case "role":
return message + "role alphabetically (case-insensitive).";
return messageForNormalInternships + "role alphabetically (case-insensitive).";
case "duration":
return message + "start date (year first), then end date.";
return messageForNormalInternships + "start date (year first), then end date.";
case "deadline":
return message + "deadline.";
return messageForNormalInternships + "deadline.";
case "skills":
return message + "skills.";
return messageForNormalInternships + "skills.";
case "status":
return message + "status.";
return messageForNormalInternships + "status.";
case "role in favourite":
return messageForInternshipsInFavourite + "role alphabetically (case-insensitive).";
case "duration in favourite":
return messageForInternshipsInFavourite + "start date (year first), then end date.";
case "deadline in favourite":
return messageForInternshipsInFavourite + "deadline.";
case "skills in favourite":
return messageForInternshipsInFavourite + "skills.";
case "status in favourite":
return messageForInternshipsInFavourite + "status.";
default:
// Handling invalid sorting options
return "Unknown flag: " + field + "\n Use \"help\" to view valid flags.";