Project: UNIon

UNIon is a desktop app for organizing various types of contacts, optimized for use for the vast majority of computing students. If you are already familiar with Unix commands, then UNIon will be easy for you to use.

Given below are my contributions to the project.

  • New Feature: Implement folders and command to create folders to UNIon #46
    • What it does: Allows the user to organise contacts by adding them to folders.
    • Justification: This feature allows users to see a summary of all their social groups and which of their contacts are in which folders.
    • Highlights: Besides the command to add folders, all the other classes required for folders to work were implemented here. This enhancement affects commands to be added in the future. It required an analysis of current models in order to implement a folder class that fits with the other components. The implementation was challenging due to the sheer number of classes that had to be implemented.
  • New Feature: Saving of folders to JSON file #82
    • What it does: Allows UNIon to save folders to a local JSON file.
    • Justification: As UNIon allows users to create folders, folders must be saved to allow users to close UNIon and come back to the same state as they left it in.
    • Highlights: This enhancement required an analysis of the Storage component. Implementing this feature was challenging as it required learning about JSON files and how to read and write them.
  • Code contributed: RepoSense link

  • Project management:
    • Created the name for UNIon
    • In charge of documentation for UNIon
  • Documentation:
    • User Guide:
      • Added documentation for the features create folder #15.
      • Tweaked documentation to fix documentation bugs from PE-D #188.
    • Developer Guide:
      • Added implementation details of the create folder feature #83.
      • Added Appendix: Effort and two use cases #202
  • Community:
    • Contributed to module forum discussions (examples: 1)
    • Reported bugs and suggestions for other teams in the class (examples)