Project: GREWZ

GREWZ is a desktop address book application used for teaching Software Engineering principles. 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: Implemented add/remove task feature of GREWZ
    • What it does: allows the user to add new tasks as well as remove existing tasks
    • Justification: This feature improves the product significantly because teaching assistants need to micromanage multiple things at the same time and the app should provide a convenient way for them to keep track of the things that need to be done.
    • Highlights: It required an in-depth analysis of design alternatives. The implementation is such that different types of specialized tasks could be extended from it.
  • Code contributed: RepoSense link

  • Project management:
    • Managed releases v1.2 - v1.4 (3 releases) on GitHub
  • Enhancements to existing features:
    • Modified clear feature to clear tasks as well (Pull request #195)
    • Changed the UI to include an additional panel to list out tasks (Pull request #65)
    • Created some test cases for deadline tasks (Pull request #115)
  • Documentation:
    • User Guide:
      • Added documentation for the new add/remove task features
      • Edited FAQ to include more comprehensive question and answers
      • Fixed minor style issues #108
    • Developer Guide:
      • Added implementation details and UML diagrams of add/remove task features #97
      • Updated existing class diagrams to include new task classes
      • Added Use Cases for task and remove-task commands #120
  • Community:
    • PRs reviewed (with non-trivial review comments): #52
    • Reported bugs and suggestions for other teams in the class (examples: 1, 2, 3, 4, 5)