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: Added the class group field to each student.
    • What it does: allows the user add, edit and remove the class group field for each student.
    • Justification: This feature improves the product significantly because it is a key feature for TAs as they will need to identify their students based on class making it a piece of information.
    • Highlights: This enhancement affects existing commands and commands to be added in the future. It required an in-depth analysis of design alternatives. The implementation too was challenging as it required changes to existing commands.
  • New Feature: Added the ability to edit tasks.
    • What it does: allows the user to edit existing tasks.
    • Justification: This feature improves the product significantly because a user can make mistakes while adding a task and the app should provide a convenient way to rectify them as well as update them with the latest information.
    • Highlights: It required an in-depth analysis of design alternatives.
  • 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 access previous commands using the up and down arrow keys.
    • Justification: This feature improves the product significantly because for users who are fast-typists, this feature allows them to revisit frequently used commands with a click of a button.
    • Credits: { Code adapted from seniors }
  • Code contributed: RepoSense link

  • Project management:
    • Managed releases v1.2 - v1.4 (3 releases) on GitHub
  • Enhancements to existing features:
    • Modified find command to make searching generic (Pull request #62)
    • Modified add and edit commands to include class input (Pull request #59)
    • Wrote additional tests for existing features to increase coverage by 1.36% (Pull request #214)
  • Documentation:
    • User Guide:
      • Added documentation for the features class, find, Navigating User Input History and edit-task: #103, #107, #189
      • Did cosmetic tweaks to existing documentation of features add, edit: #62
    • Developer Guide:
      • Added implementation details of the class and edit-task feature : #92, #227
  • Community:
    • PRs reviewed (with non-trivial review comments): #71
    • Reported bugs and suggestions for other teams in the class (examples: 1, 2, 3, 4, 5, 6)