Xuanqi's Project Portfolio Page
Project: BookCoin
BookCoin is a CLI facility management system which allows users to type in commands to manage bookings and presents users a structured and detailed information on facility availability.
Given below are my contributions to the project.
-
Code contributed: RepoSense link
- New Feature: Added the ability to delete previously added bookings.
- What it does: allows the user to delete any previous added bookings one at a time.
- Justification: This feature improves the product by allowing users to delete a booking permanently when the booking is no longer valid.
- New Feature: Added multi-step prompting structure for commands and implemented the structure on
add_booking
- What it does: allows the user to input information step by step
- Justification: A lot of information input is needed to create a booking, making the
add_booking
process troublesome and confusing. This feature breaks down the input process into several steps, improving the input experience for users. - Highlights: This enhancement affects existing and future multi-step commands. It required an in-depth analysis of design alternatives to ensure subsequent implementations for multi-step commands can adopt the same structure. The implementation too was challenging as it required complex management of states between different classes while ensuring OOP and design principles are maintained.
- New Feature: Added the ability to find bookings by booker, venue, or date.
- What it does: allows the user to filter any previously added bookings by their attributes.
- Justification: This feature improves the product significantly because a user can efficiently search for a booking with the specified field.
- Enhancements to existing features:
- Wrote tests for new features (pull request #142)
- Documentation:
- User Guide:
- Wrote command examples
- Updated command descriptions
- Developer Guide:
- Wrote uses cases
- Wrote user stories
- User Guide:
- Community:
- Set up GitHub team org and repo
- Contributed to UI design mockup
- Contributed to maintaining of issue tracker and release management