Project: HomeBoss
HomeBoss is a desktop application used for managing deliveries for home business owners.
The user interacts with it using a CLI, and it has a GUI created with JavaFX.
It is written in Java, and has about 19 kLoC.
Add a Delivery, Update details of a Delivery, Delete a Delivery, Update details of a Customer and Test Cases for all
implemented features
New Feature: Add a Delivery
- What it does: This feature allows the user to create Deliveries by specifying the expected Delivery date,
Customer ID of the Customer they would like to tie the Delivery to as well as the Delivery name.
- Highlights: This feature has a dependency to Customer and required the use of a
DeliveryAddDescriptor
to help
create Deliveries
. - Justification: This feature is important because it allows the user to create Deliveries. With this, Users can
use other methods to keep track and manage their Deliveries easily. It is also an essential operation as seen as it is
part of the
CRUD operations.
- Credits: The implementation of this feature was inspired from the AB3
edit
and add
command. - Related pull request: #140 #179 #188
New Feature: Update details of a Delivery
- What it does: This feature allows the user to edit the details of Deliveries (e.g. name, expected delivery date,
status, note, customer ID etc.).
- Highlights: This feature required the use of a
DeliveryEditDescriptor
to help
create Deliveries
. - Justification: This feature is important because it allows the user to edit their Delivery details to ensure that
Delivery details are up to date and accurate, reducing the likelihood of wrong/messed up orders.
- Credits: The implementation of this feature was inspired from the AB3
edit
command. - Related pull request: #231
New Feature: Delete a Delivery
- What it does: This feature allows the user to delete Deliveries that they feel are redundant or no longer needed.
- Justification: This feature is important because it allows the user to get rid of Deliveries to make their list
of Deliveries neater and more organised.
- Credits: The implementation of this feature was inspired from the AB3
delete
command. - Related pull request: #140
Feature: Update details of a Customer
- What it does: This feature allows the user to update their Customer's details (e.g. name, phone number, address,
email).
- Justification: This feature is important because it allows the user to edit their Customers data to ensure that
their data is up to date and accurate.
- Credits: The implementation of this feature was tweaked from the AB3
edit
command. - Related pull requests: #111
Added JUnit tests for all features implemented by me. This included the creation of the necessary Builder
classes such as DeliveryBuilder
, DeliveryEditDescriptorBuilder
, DeliveryAddDescriptorBuilder
and adding to
the CommandTestUtil
to include valid and invalid parameters to different commands.
Contributions to the User Guide
- Structuring the UG, Introduction, Table of Contents, Editing the data file , Feature - Update details of a
Customer, Feature - View a list of Customers, Feature - Add a Delivery , Feature - Update details of a
Delivery, Feature - Update status of a Delivery, Feature - Delete a Delivery, Formatting and styling of the UG,
Ensuring consistency and correctness of the UG
Related pull requests:
#38 #73 #83 #203 #300 #378 #416 #477
Contributions to the Developer Guide
Did 1/5 of the Use Cases, Customer Edit Feature, Customer Edit Activity Diagram , Customer Edit Sequence Diagram,
Delivery Add Feature, Delivery Add Activity Diagram, Delivery Add Sequence Diagram, Checked through the DG for
correctness and made refinements/adjustments
Related pull requests:
#72 #74 #208 #475 #532
Contributions to team-based tasks
- Added Logging and Assertions for the portion of my features
#526
- Maintained code quality for the portion of my features
#137 #515
- Fix various bugs along the way, some examples: #321 #337
Review/mentoring contribution
- Created issues, reviewed, approved and merged pull requests.
- Left comments on PRs to suggest improvements.
- Reviewed 32 PRs
GitHub