Nathan Wong Hung Rui's Project Portfolio Page
Project: Socius
Socius is a contact management desktop application used for CS2103T module takers. Socius is a platform to help students find potential project group mates for CS2103T. The user interacts with it using a CLI, and it has a GUI created with JavaFX. Socius is written in Java, and has about 12 kLoC.
Given below are my contributions to the project:
- Code contributed: Nathan’s Code Contribution
-
New features and enhancements added:
- Make tag colours customisable(Feature)
- What it does: Allows the user to customise their tag colour either by colour code or colour name.
- Justification: This feature improves the aesthetic appeal, and more importantly, the flexibility and customisability, which is what we pride our application in.
- Highlights: This feature affects existing commands and commands to be added in future. The implementation was somewhat challenging as it required some significant changes to how data would be stored in the JSON file to accomodate the tag colours now that it was customisable. Test cases and test data also have to be updated accordingly.
- Add the ability to not include additional fields aside from
Name
when adding a new contact. (Feature)- What it does: Allows the user to add a new contact without having to include every field.
- Justification: We took into consideration the scenario that users might not wish to share certain personal contact details and felt this change was necessary. This feature improves user experience and the flexibility and customisability of our application.
- Highlights: This enhancement affects existing commands and commands to be added in future. The implementation was tedious, but slightly more straightforward as it required minor adjustments to all existing fields. It also required some adjustments to how data would be stored now that majority of the fields were customisable. Test cases and test data also have to be updated accordingly.
- Change the GUI to better suit our application. (Enhancement)
- What it does: Change the colour scheme and layout of the GUI of our application.
- Justification: This feature allows users a better user experience.
- Highlights: The implementation of this feature was challenging as it required knowledge of how the GUI works, which meant knowledge of how JavaFX and CSS was integrated into the program.
- Make tag colours customisable(Feature)
- Enhancements to existing features:
- Added Labels to a contact’s fields in the GUI. (Pull request #346)
-
Contributions to Documentations:
- README
- Prepared the initial iterations of the README document (Pull request #32)
- User Guide (UG)
- Developer Guide (DG)
- README
- Contributions to team-based tasks:
- Reviewing contributions:
- Reviewed 30 Pull Requests
- Other contributions: