Project: ThunderCat

ThunderCat (TC) is a desktop app designed for Year 2 Computing Students. The application acts as an address book for contacts with added support for group projects. You can manage contacts, organise them into project groups and manage your tasks according to those groups.

ThunderCat also acts as a tool for Year 2 Computing Students to build up their confidence in using a Command Line Interface (CLI) to navigate applications and manipulating JSON files - a popular data file format widely used in Computing.

Given below are my contributions to the project.

Added Features

  • New Feature: Added the ability to add a new Group to ThunderCat.
    • What it does: allows the user to add a new Group to ThunderCat specifying its name and description.
    • Justification: A key feature in the application in order access the Group Information page and use other core commands related to groups and tasks.
    • Highlights:
      • The Name must be present while Description is optional.
      • The Description optional field was included only after one iteration and adding it was marginally challenging as there were a lot of affected classes to integrate.
  • New Feature: Added the ability to remove group members from existing groups while keeping their contact intact inside the ThunderCat.
    • What it does: allows the user to remove other contacts from an existing group with existing contact.
    • Justification: A key feature in the application for users to update their group contacts accordingly instead of having to create a new one from scratch everytime there are changes.
  • New Feature: Added the ability to edit a group details.
    • What it does: allows the user edit the Name and the Description of the selected group.
    • Justification: As Description is set to be optional, this command not only serves its purpose to edit group details but also add Description to groups should they choose to leave it empty the first time.
  • Code contributed: RepoSense link

  • Project management:
    • Managed releases v1.1, v1.2, v.1,3, v.1,4 4 major releases on GitHub.
    • Reviewed pull requests
  • Documentation:
    • User Guide:
      • Added documentation for the features remove #83
      • Added documentation for the features editG #184
      • Added Command Summary #198
      • Added Anchors, Edited Glossary, Cosmetic tweaks and changes to the About section #321 #322 #325
      • Updated Glossary #349
    • Developer Guide:
      • Added the user stories of this application #40.
      • Added Use case for group feature #149
      • Updated Model section and added Feature EditGroupCommand under implementations #342
      • Added Feature JoinGroupCommand under implementations with sequence and activity diagrams #363 #384