Soh Xin Wei's Project Portfolio Page
Project: CakeCollate
CakeCollate is a desktop order book application used for tracking cake orders. 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. CakeCollate is based on the AddressBook-Level3 project (AB3) created by the SE-EDU initiative.
Summary of Contributions
Given below are my contributions to the project.
Code contributed:
- This is a link to the code that I have contributed.
Enhancements implemented:
- Enhancement to existing feature: Added
DeliveryDate
to theOrder
(refactored from Person). (Pull request #56)- What it does: Allow users to add a delivery date to the order that being created.
- Justification: As our team’s goal is to adapt AB3’s address book into an order book, adding a delivery date field allow users to better manage the tracking of their orders in CakeCollate.
- Highlights: This enhancement affects existing commands and commands to be added in the future. The implementation was challenging as it required changes to existing commands.
- Enhancement to existing feature: Modified
FindCommand
. (Pull request #92)- What was changed:
- Allow users a less restrictive search.
I.e. The find function no longer require matching of full keywords. - Allow users to specify prefixes for their search of orders.
- Allow users a less restrictive search.
- Justification: To allow for efficient tracking of orders, our team wanted to allow users to execute both generic OR search and specific AND search for the fields of an orders.
- Highlights: The implementation was challenging as it required changes to existing find command. As it required changes to the original
NameContainsKeywordsPredicate
, it required an in-depth analysis of design alternatives as described in the Developer Guide.
- What was changed:
Contributions to User Guide:
- Edited documentation for the find feature.
- Added the Types of user input.
- Vetted the whole document to fix inconsistent usage of terms, ordering of sections, brief descriptions etc. (Pull request #242)
Contributions to Developer Guide:
- Added non-functional requirements.
- Added implementation details for the find feature.
- Added instructions for manual testing for the find feature.
Contributions to team-based tasks:
- Refactored terms to adapt the address book into an order book. (Pull request #75)
- Maintained milestone tracker.