Jason Ciu Putra Sung's Project Portfolio Page
Project: InternConnect
InternConnect is a one-stop, convenient, and efficient platform to manage and empower how internship campus recruiters who prefer CLI to GUI work with their applicants’ data. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 10 kLoC.
Given below are my contributions to the project.
- New Feature: Added a feature to import applicants from an external JSON file. (PR#137)
- What it does: allows the user to append their current list with applicants from an external JSON file without the need to input them into the command line one by one.
- Justification: This feature improves the product significantly because a user may need mass add applicants in a short period of time, and this feature allows the user to do exactly that.
- Highlights: This enhancement added a completely new way for users to add applicants that can be done in a 2-word
command. At first, difficulties were faced when I was figuring out how to append the new
AdressBook
object to the current one, as there are lots of abstractions that need to be considered. In the end, without making the command go through the internal attributes of model, I created a featureappendAddressBook()
that accepts theAddressBook
that is going to be appended. Some guard statements are also placed, as input files can be of lots of forms which may not comply with the requirements given.
-
Code contributed: RepoSense link
- Project management:
- Created and assigned issues in the issue tracker for team members
- Reviewed and approved other team members’ PR
- Frequently committed and pushed updates to Github
- Organize issues and user stories inside the Project board
- Enhancements to existing features:
- Refined the add single applicant feature (PR#113)
- What it does: Now, instead of showing the details of added applicant inside the message bar, they are shown in the right panel instead,
- Justification: This will give a clearer view for users to see the applicant that they just entered, instead of having it all in 1 sentence.
- Highlights: The hardest part of this was incorporating the new
updateViewedPersonList
into theaddCommand
- Changed the definition of
isSamePerson
to be of sameemail
andjobID
(PR#156)
- Refined the add single applicant feature (PR#113)
- New Fields Added:
- Added
university
field (PR#99)
- Added
- Documentation:
- User Guide:
- Developer Guide:
- Tools:
- Used Intellij to edit all files
- Used Github and Git for version control
- Used Microsoft Teams for team communication and notes taking
- Used PlantUML to create diagrams in DG