Project: CakeCollate

CakeCollate is a desktop 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 an IndexList class
    • What it does: Allows parsing of multiple Indexes input by the user.
    • Justification: This allows users to key in multiple indexes for any command which requires an Index to be input.
    • Highlights: This feature was challenging to implement as it required quite a few changes to existing commands and tests.
  • New Feature: Added an OrderItems model
    • What it does: An OrderItems model allows the creation of OrderItem objects and also multiple operations to be performed on them.
    • Justification: An OrderItems model was needed for the OrderItems table which relies on a UniqueOrderItemList which was added in the model.
    • Highlights: This model is a crucial part of CakeCollate and was challenging to implement as a lot of classes had to be created and tested properly.
    • Credit: Based on the CakeCollate model.
  • New Feature: Added the deleteItem and addItem commands.
    • What it does: These commands allow the users to interact with the OrderItems model by enabling them to add their own order items to the order items table and also delete orders.
    • Justification: The user needs to be able to add their own order items to the order items table since they might want to predefine order items.
  • Code contributed: RepoSense link

  • Project management:
    • Maintained the issue tracker
    • Managed jar file creation for two releases
  • Enhancements to existing features:
    • Modified delete command to accept multiple indexes
      • Involved creating the IndexList class
  • Documentation:
    • User Guide:
      • Added documentation for the delete, addItem and deleteItem features. #122
      • Edited Glossary, FAQ and checked for grammatical errors. #248
    • Developer Guide:
      • Added implementation details for the addItem feature.
      • Added implementation details for the deleteItem feature.
  • Community:
    • PRs reviewed (with non-trivial review comments): #125, #232