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
Show file tree
Hide file tree
Changes from 235 commits
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
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
/.idea/
/out/
/*.iml
/data/

# Gradle build files
/.gradle/
Expand All @@ -13,5 +14,8 @@ src/main/resources/docs/
*.iml
bin/

# data files
data/EasInternship.txt
/text-ui-test/ACTUAL.TXT
text-ui-test/EXPECTED-UNIX.TXT
META-INF/MANIFEST.MF
3 changes: 3 additions & 0 deletions META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Manifest-Version: 1.0
Main-Class: seedu.duke.EasInternship

29 changes: 29 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,24 @@
//@@ jadenlimjc
# Duke project template

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.


## Product Description
This product aims to streamline the tracking of internship applications for the user, where the user is able to store key details of the internship as well as save and edit the status of the application.

**By using this tool, the user can:**

**Store Important seedu.duke.Internship Information:** Users can input and store key details such as the role, company, duration, required skills, application deadlines, and any additional notes.

**Track Application Status:** Users can save the current status of their application (e.g., not applied, applied, interview scheduled, offer received) and update it as the application progresses.

**Edit and Manage Internships:** Users have the ability to edit saved internships as needed, modify statuses, update deadlines, or remove outdated internships from the list.

**Filter Internships by Key Criteria:** The user can filter the tracked internships by relevant skills, application status, or upcoming deadlines, allowing for better organization and prioritization.

**Monitor Deadlines Easily:** The tool helps ensure users stay on top of their internship deadlines by flagging or sorting applications with approaching deadlines.

## Setting up in Intellij

Prerequisites: JDK 17 (use the exact version), update Intellij to the most recent version.
Expand All @@ -25,6 +42,18 @@ Prerequisites: JDK 17 (use the exact version), update Intellij to the most recen
What is your name?
```
Type some word and press enter to let the execution proceed to the end.
**CS2113 T10 Team 1**

**Jaden Lim Jie Chen**

**Tan Ting Hui**

**Jai Vinod Kumar Rahul**

**Man Kit Yu****




## Build automation using Gradle

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

run{
standardInput = System.in
enableAssertions = true;
}
4 changes: 4 additions & 0 deletions data/EasInternship.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
1 | ABC | XYZ | 01/01 | 01/01 | | Application Pending | No Deadlines set.
2 | software engineer | abs | 01/01 | 03/24 | python, c++, backend | Application Completed | No Deadlines set.
3 | lawyer | lolo pte ltd | 04/23 | 01/01 | source, terry | Application Completed | Application deadline -date 03/12/04
4 | Technician | Nokia | 12/22 | 12/30 | java, c++ | Application Pending | interview round 1 -date 26/04/24 - interview round 2 -date 14/05/24
13 changes: 6 additions & 7 deletions docs/AboutUs.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
# 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
--------|:---------:|:---------------------------------------:|:---------:
![](/images/jaden.png) | Jaden Lim | [Github](https://github.com/jadenlimjc) | [Portfolio](https://www.linkedin.com/in/jadenlimjc/)
![](https://via.placeholder.com/100.png?text=Photo) | Yu Man Kit | [Github](https://github.com/Toby-Yu) | [Portfolio](toby-yu)
![](https://via.placeholder.com/100.png?text=Photo) | Rahul | [Github](https://github.com/rahuljai-05) | [Portfolio](rahuljai-05)
![](https://via.placeholder.com/100.png?text=Photo) | Tan Ting Hui | [Github](https://github.com/Ridiculouswifi) | [Portfolio](ridiculouswifi)
231 changes: 230 additions & 1 deletion docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,237 @@

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

### EasInternship (main class)

## Product scope
1. [Design](#design)
1. [Architecture](#architecture)
2. [UI Component](#ui-component)
3. [Logic Component](#logic-component)
4. [Model Component](#model-component)
5. [Storage Component](#storage-component)
2. [Implementation](#implementation)
1. [Parsing Input](#parsing-input)
2. [Command Execution](#command-execution)
3. [Task Management](#task-management)
4. [AddCommand Implementation](#addcommand-implementation)
5. [DeleteCommand Implementation](#deletecommand-implementation)
6. [SortCommand Implementation](#sortcommand-implementation)
7. [UpdateCommand Implementation](#updatecommand-implementation)

---

## 1. Design

### 1.1 Architecture

Choose a reason for hiding this comment

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

Consider adding an architecture diagram

The architecture of EasInternship is designed to follow the MVC (Model-View-Controller) pattern to facilitate separation of concerns, modularity, and maintainability.

- **View (UI)**: Responsible for interacting with the user by displaying output and reading input.
- **Controller (Command and Parser)**: Responsible for parsing user input and invoking the appropriate commands.
- **Model (InternshipList)**: Manages the state of the application, including the list of internships and tasks.
- **Storage**: Responsible for loading and saving data from and to the disk.

Copy link

Choose a reason for hiding this comment

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

I feel that an architecture diagram help could be a very helpful diagram to add here to give a brief overview of how your different classes interact with each other

---

### 1.2 UI Component

The UI component is responsible for displaying information to the user and reading input. It interacts with the user by printing messages and prompts, and retrieves commands for the rest of the application to process.

### 1.3 Logic Component

The logic component is handled by the `Parser` and `Command` classes. The `Parser` interprets the user's input and returns a command object, which is then executed to perform the desired operation.

### 1.4 Model Component

The model component includes the `Internship`, `InternshipList`, `Deadline` and `DeadlineList` classes.

`Internship`: Represents the individual internship entries.

`InternshipList`: Manages a collection of Internship objects, providing methods for adding, retrieving, updating, sorting and removing internships.

`Deadline`: Represents each individual deadline associated with an internship, holding data specific to that deadline (description, date).

Each `Internship` object contains a `Deadline` list, and has methods to add, retrieve or remove deadlines associated with that internship.

This is represented with the class diagram below:

![](UML/Internship-Model_Component.png)
Copy link

Choose a reason for hiding this comment

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

I believe the visibility of the methods and attributes in this diagram should be signs like "-" and "+" instead of squares and circles. You can consider configuring your plantuml to reflect this.

Choose a reason for hiding this comment

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

iirc we are supposed to change the default style of the class diagram that is given by PlantUML? Ie use "+" and "-" instead of red squares and green circles.

Choose a reason for hiding this comment

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

also can consider only adding the important methods, instead of spamming all your methods to improve clarity


### 1.5 Storage Component

The storage component is responsible for saving the current state of the `InternshipList` to a file and loading it back when the application is restarted. This ensures that users' progress is preserved between sessions.
The data from the internshipList is saved into a .txt file.

There are two main functions, `loadFromFile` and `saveFromFile`.

The following sequence diagrams depict how the Storage Functions work.
![](UML/loadFromFile.png)

Choose a reason for hiding this comment

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

the sequence diagram shouldnt have 2 sets of class name?
image

![](UML/saveToFile.png)


## 2. Implementation

### 2.1 Parsing Input

The `Parser` class is responsible for parsing the input strings provided by the user. It breaks down the input into individual components like the command and its accompanying arguments. After parsing, it returns a `Command` object.

### 2.2 Command Execution

The `Command` class and its subclasses handle the execution of specific commands. Once a command is parsed, it is executed with the required arguments, and the result is displayed to the user.

### 2.3 Task Management

The `InternshipList` class handles adding, removing, and retrieving internships from the list. It interacts with both the UI and the storage components to ensure that updates are reflected in the user interface and persisted to disk.

---

### Overview

Choose a reason for hiding this comment

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

This structure feels abit weird to me. Might be better if you continued to follow the naming structure above? (ie 1.2, 1.3, 2.1, etc)


The `EasInternship` class serves as the entry point of the application. It manages the application's main loop, where the user is continually prompted for input, and commands are processed in response. The class is responsible for initializing the UI, loading saved data, and handling user input until the user chooses to exit the program.

Copy link

Choose a reason for hiding this comment

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

I feel that the overview would be more fitting being placed earlier in the documentation guide, perhaps you can give this some consideration?

### Key Responsibilities

- **Initialization**: Initializes the necessary components for the application, such as the `Ui`, `InternshipList`, and `Parser` classes. It also loads any saved data from the storage into the `InternshipList`.
- **Main Loop**: Continuously prompts the user for input. The input is parsed by the `Parser`, and the corresponding `Command` is executed. If the user enters the exit command, the loop terminates.
- **Command Processing**: After parsing the user input, the corresponding `Command` object is executed. The application catches and displays any errors that occur during command execution.
- **Saving State**: Upon exiting, the current state of the `InternshipList` is saved to a file to ensure persistence across sessions.

### Flow of Execution

1. **Welcome Message**: The `Ui` class displays a welcome message to the user.
2. **Load Data**: The `Storage` class loads any saved internships into the `InternshipList`.
3. **Input Loop**: The application enters a loop, prompting the user for input.
4. **Command Parsing**: The `Parser` interprets the input and returns the appropriate `Command`.
5. **Command Execution**: The command is executed, and the `InternshipList` is updated accordingly.
6. **Exit Flow**: If the user enters the exit command, the `InternshipList` is saved, and the application displays a goodbye message.

### Methods

- `public static void main(String[] args)`: The entry point of the application. It handles initialization, the main user input loop, and command execution.

### Error Handling

If the user inputs an unknown command or a command fails during execution, the `Ui` class displays an appropriate error message. This ensures that the application can continue running despite errors in user input.

---

### AddCommand Implementation

#### Overview:
The `AddCommand` class is responsible for adding internship listings to the Internship List. It extends the `Command` class, providing the add functionality as part of the command execution framework.

#### Design:
- The `AddCommand` class processes user input to determine what fields to add to the new internship listing.
- If no arguments or invalid arguments are given, it prompts the user with an error message indicating which fields are erroneous.

#### Key Methods:
- `execute(ArrayList<String> args)`: Handles addition logic based on the inputs provided. If the user provides an appropriate "role" and "company", the internship is added to the listing. Otherwise, the user is prompted with which fields are missing. The user also can input start and end dates of the internship during the addition.
- **`getUsage()`**: Returns a string showing the correct usage of the `add` command and the expected input.

#### Example Usage Scenario:
- The user enters `add -role Software Engineer -company Google`, and the execute method adds the internship to the InternshipList The start and end dates are defaulted to 01/01.


- The user enters `add -role Software Engineer -company Facebook -from 10/24 -to 06/25`, and the execute method adds the internship with the specified dates to the InternshipList.


- The user enters `add -role Software Engineer`. The execute method detects that no company has been specified and adds `company` to the list of invalid flags. uiCommand is then called and prints an error statement of all invalid flags detected.

#### Sequence Diagram:

The following sequence diagram shows how the `AddCommand` is executed:
![AddCommandSequenceDiagram](UML/AddCommand_Sequence_Diagram.png)

### DeleteCommand Implementation

#### Overview:
The `DeleteCommand` class is responsible for deleting internship listings from the Internship List. It extends the `Command` class, providing the delete functionality as part of the command execution framework.

#### Design:
- The `DeleteCommand` class processes user input to determine which `Internship` to remove from the `InternshipList`.
- If no arguments or invalid arguments are given, it prompts the user with an error message indicating which fields are erroneous.

#### Key Methods:
- `execute(ArrayList<String> args)` : Handles deletion logic based on the inputs provided. If the user provides an appropriate `internshipID`, the `Internship` is deleted from the `InternshipList`. Otherwise, if an inappropriate or no `internshipID` is specified, the user is prompted that the `internshipID` is invalid.


- `getUsage()`: Returns a string showing the correct usage of the `delete` command and the expected input.

#### Example Usage Scenario:
- The user enters `delete 1`. The execute method removes the `Internship` from the `InternshipList` if the `internshipID` is valid.
- The user enters `delete -1`. The execute method detects that the `internshipID` is invalid. uiCommand is called and prints an output `Invalid integer, please provide a valid internship ID`.

#### Sequence Diagram
The following sequence diagram shows how the `DeleteCommand` is executed:
![DeleteCommandSequenceDiagram](UML/DeleteCommand_Sequence_Diagram.png)



### SortCommand Implementation

#### Overview:
The `SortCommand` class is responsible for sorting the internship listings based on different criteria such as the internship role, skills and status (alphabetically) , the application deadline (by start and end dates). It extends the `Command` class, providing the sorting functionality as part of the command execution framework.

#### Design:
- The `SortCommand` class processes user input to determine which sorting method to apply (e.g., role or deadline).
- If no arguments or invalid arguments are given, it defaults to listing internships by ID.

#### Key Methods:
- **`execute(ArrayList<String> args)`**: Handles sorting logic based on the first argument provided. The valid sort options include:
- `"alphabet"`: Sorts internships by role alphabetically.
- `"duration"`: Sorts internships by duration (start and end dates).
- `"deadline"`: Sorts internships by deadline.
- `"skills"`: Sorts internships by the first skill in the skills list alphabetically.
- `"status"`: Sorts internships 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.
2. The user enters `sort deadline`, 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. 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)


### UpdateCommand Implementation

#### Overview
The `UpdateCommand` class is responsible for updating the fields of an internship. It extends the `Command` class, providing an updating functionality as part of the command execution framework.

#### Design
- The `UpdateCommand` class processes the user input to determine which internship and which field to update.
- If the internship ID is not valid, it will print a message accordingly.
- If the field is not valid, it will print a message indicating the erroneous field.
- If the value provided with the field is not valid, it will also print a message indicating the erroneous value.

#### Key Methods
- `execute(ArrayList<String> args)`: Handles the logic to find the internship entry and determine which field to update. The valid fields include:
- `status`: Updates the status of the internship.
- `skills`: Adds skills to the relevant field of the internship
- `role`: Updates the role of the internship
- `company`: Updates the company of the internship
- `from`: Updates the start date of the internship
- `to`: Updates the end date of the internship
- `deadlines`: Updates the deadlines of the internship
- `isValidValue(String[] words)`: Checks if there was a new value provided for the selected field.
- `updateOneField(String[] words, int internshipIndex)`: Called within `execute(args)` to invoke the appropriate method to update the field.
- `getUsage()`: Returns a string showing the correct usage of the `update` command.

#### Example Usage Scenario:
- The user enters `update 2 -status Application Completed`, and the `execute` method finds the internship with ID `2` and updates its `status` to `Application Completed`.
- The user enters `update 4 -status Application Completed`, if `4` is not a valid ID, the `execute` method will print a message to show the ID is out of bounds.
- The user enters `update 2 -skills`, no value is given after the `-skills` flag, the `isValidValue` method returns false and prints a message to indicate the need for a value.
- The user enters `update 2 -from Tomorrow`, `Tomorrow` is not a valid date, the `execute` method prints message to indicate it is an invalid value.

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

### Product scope
### Target user profile

{Describe the target user profile}
Expand Down
63 changes: 63 additions & 0 deletions docs/UML/AddCommand.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
@startuml
title AddCommand Sequence Diagram

participant User
participant AddCommand
participant uiCommand
participant Internship
participant InternshipList


User->AddCommand:execute(args)
activate AddCommand #red
AddCommand-->uiCommand:clearInvalidFlags()
activate uiCommand #green
AddCommand->AddCommand : Initialize variables

loop for each arg in args
AddCommand -> AddCommand : split arg into flag and data
alt flag == "role"
AddCommand -> AddCommand: hasRole = true
alt data is present
AddCommand-> AddCommand: set role
else
AddCommand -> uiCommand: addInvalidFlag("role")
end
else flag -- "company"
AddCommand -> AddCommand: hasCompany = true
alt data is present
AddCommand->AddCommand: set company
else
AddCommand->uiCommand: addInvalidFlag("company")
end
else flag == "from"
alt data is present
AddCommand -> AddCommand: set startDate
else
AddCommand -> uiCommand: addInvalidFlag("from")
end
else flag == "to"
alt data is present
AddCommand -> AddCommand: set endDate
else
AddCommand -> uiCommand: addInvalidFlag("to")
end
else
AddCommand -> uiCommand: addInvalidFlag(flag)
end
end

alt invalid flags found
AddCommand->uiCommand: printInvalidFlags()
else all required flags present
AddCommand -> Internship: new Internship(role, company, startDate, endDate)
activate Internship #blue
AddCommand-> InternshipList: addInternship(newInternship)
activate InternshipList #aquamarine
deactivate Internship
deactivate InternshipList
AddCommand -> uiCommand: showEditedInternship(newInternship, "add")
deactivate uiCommand
end

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