Julian Wong's Project Portfolio Page
Project: uNivUSal
uNivUSal is a desktop application used to link CS2103T users to all the modes of communication of other users to make their lives easier. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 20 kLoC.
Given below are my contributions to the project.
- New Feature: Added a history command that allows the user to navigate to previous commands using up/down keys.
- What it does: allows the user to see up to their last five previous commands typed.
- Justification: This feature improves the product significantly because a user may want to see what they have typed beforehand if they do not remember.
- Highlights: This enhancement uses a First-In-First-Out (FIFO) data structure in the form of a queue to present the command history.
- New Feature: Added a profile picture that changes accordingly to whatever the contact’s occupation is.
- What it does: allows the user to see easily what the occupation is for each contact in a pictorial form.
- Justification: This feature improves the product because a user may want to know what roles all their contacts hold at a glance.
- Highlights: This enhancement uses new images saved into the resources folder to be bundled into the JAR file and a function to determine the right image to display.
- New Enhancement: Enhanced the delete command to be multi-functional.
- What it does: allows the user to not just delete contacts but also delete specific fields of people.
- Justification: This feature improves the product significantly because a user may want to update contacts that no longer use those fields.
- Highlights: This enhancement affects existing commands. It required an in-depth analysis of design alternatives. The implementation too was challenging as it required changes to existing commands and validators. Required changes to GUI also to display the deleted data field.
-
Code contributed: RepoSense link
- Project management:
- Co-managed releases
v1.1
-v1.4
(4 releases) on GitHub with team
- Co-managed releases
- Enhancements to existing features:
- Documentation:
- User Guide:
- Developer Guide:
- Community: