Joshua's Project Portfolio Page
Project: Bookopedia
Bookopedia is a desktop application specifically built for parcel delivery riders, optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). This enables delivery riders to be able to quickly plan their deliveries by typing in commands and still be able to view them in an organized manner.
Given below are my contributions to the project.
-
Code contributed: RepoSense link
- New Feature: Sort
- What it does: Allows users to sort the current list of deliveries according to delivery status in ascending order.
- Justification: Sorting deliveries by status can help users better manage their time and prioritize their work. It can also help them quickly identify deliveries that require attention or have a specific status, such as failed deliveries that need to be rescheduled or pending deliveries that have yet to be completed.
- Highlights:
- Users can sort their deliveries in ascending order based on their status.
- The ordering of
PENDING<OTW<DONE<FAILED<RETURNwas predefined when creating the Enumeration for Delivery Statuses.
- New Feature: Add Parcels to Deliveries
- What it does: Allows users to add parcels to their existing deliveries.
- Justification: Adding parcels to existing deliveries can help users better manage their work and keep track of multiple items in a single delivery. It can also help users save time spent deleting and creating new delivery entries when receiving new parcels for an existing delivery.
- Highlights:
- The existing delivery to add a new parcel to is identified by their index
- The implementation was challenging as it required changes to existing objects variables
- Credits: This feature was implemented by refactoring the Tag class in the codebase. No external libraries were used.
- Enhancements to existing features:
- Made the email address field optional by allowing it to accept blank inputs.
- Documentation:
- Contributions to team-based tasks:
- Bug fix for edit command where the optional field of email address was not behaving as expected.
- Added JUnit tests wherever necessary to ensure code coverage requirement.
- Kept test utility files updated for testing implemented features.
- Generated UI mockup.
- Review/mentoring contributions:
- Contributions beyond the project team:
- Helped with CATcher load test.
- Helped report bugs and suggestions for other teams during PE-D.