Melvin'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: Add parcel to a delivery
- What it does: Users can add a new parcel into an existing delivery
- Justification: This feature is useful as users will not need to redo the whole delivery adding process if new parcels for an existing delivery were incrementally given to them.
- 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
- New Feature: Mark parcel
- What it does: Users can mark an existing parcel with a status
- Justification: Users can identify the parcel status just by looking at Bookopedia GUI
- Highlights:
- Parcel to be marked is identified by their index
- Parcel statuses are indicated by different colour schemes on the GUI
- The implementation was challenging as it was decided that a parcel can hold any number of status (e.g. only bulky, only fragile, both or neither)
- New parcel statuses can be easily added to Bookopedia in the future (e.g. Hazardous, Time-Sensitive)
- Enhancements to existing features:
- The email and phone number fields for adding of delivery feature is made optional now
- Documentation:
- User Guide:
- Added documentation for the add parcel feature
- Added documentation for the mark parcel feature
- Developer Guide:
- Added implementation details of the add parcel feature
- Added implementation details of the mark parcel feature
- Added NFR section of requirements details
- Added test cases to manual testing appendix
- User Guide:
- Contributions to team-based tasks:
- Took project notes during team discussions
- Admin related tasks with GitHub organization
- Ensure deadlines were met and wrapped up milestones
- Managed releases on GitHub
- Review/mentoring contributions:
- Contributions beyond the project team:
- Reported bugs and suggestions for other teams during PE-D and the upcoming PE