Wu Sibing - Project Portfolio Page
Overview
Restaurant Daily Report is a CLI app that generates a whitepaper, summarizing the internals of a restaurant. It’s aim is to provide restaurant owners a quick overview of how their restaurant is performing daily so that restaurant owners can better manage their business operations.
Summary of Contributions
- Code contributed: code on tP Code Dashboard
- Enhancements implemented:
- Feature: Add a Reservation
- What it does: Allows users to input
add reservationto add a reservation with details to thereservationslist in the application. - Justification: This feature is needed for restaurant to add the newly received reservation to the list in the application.
- Highlights: The
AddReservationCommandclass will examine if the user misses some inputs or delimiters. Adding the reservation is handled byReservationListclass.
- What it does: Allows users to input
- Feature: Mark a Reservation
- What it does: Allows users to input
delete reservationto mark a reservation as invalid or inputmark reservationto mark a reservation as served. - Justification: This feature is needed for restaurant to update the status of a reservation when they finish serving it or the reservation is canceled.
- Highlights: The
VoidReservationCommandorMarkReservationCommandclass will examine if the user misses some inputs or delimiters.
Marking the reservation is handled byReservationListclass. Some restriction is set to follow the common sense: a invalid reservation cannot be marked as served or invalid again; a served reservation cannot be marked as invalid.
- What it does: Allows users to input
- Feature: List the Reservations
- What it does: Allows the users to input
list reservationto list all reservations, or inputlist served reservationto list all served reservations, or inputlist unserved reservationto list all unserved reservations. - Justification: This feature is needed for restaurant to review all reservations.
- Highlights: When certain types of reservations are required to be listed, the
ListServedCommandandListUnservedCommandclass will do a linear search amongreservationslist and check the reservation status.
- What it does: Allows the users to input
- Feature: Search the Reservations
- What it does: Allows the users to input
search reservationto search for a specific reservation or all reservations in a certain day. - Justification: This feature is needed for restaurant to look at the details of a specific reservation or review all the reservations in a specific day.
- Highlights: The
SearchReservationCommandclass will do a linear search amongreservationslist to find the matched reservations.
- What it does: Allows the users to input
- Feature: Load the
Reservationfrom the “report.txt” file to thereservationslist- What it does: The reservations in the txt file will be automatically loaded into the
reservationslist when the program is started. - Justification: This feature is needed for restaurant to view reservations added before.
- Highlights: The
LoadReservationclass will be in charge of loading reservations in the txt file into thereservationslist.
- What it does: The reservations in the txt file will be automatically loaded into the
- Feature: Clear the
reservationslist- What it does: Allows the user to input
clear reservationto clear all reservations. - Justification: This feature exists in case the restaurant really needs it.
- Highlights: The
ReservationListclass will clear thereservationsArrayList directly.
- What it does: Allows the user to input
- Adding Logger to the Reservation-related section and Ui
- What it does: It records down all the
add,markanddeleteactivities which can modify thereservationslist. A fail to set up the logger will also be recorded. - Justification: The restaurant need to keep track of the log of its reservations.
- What it does: It records down all the
- Feature: Add a Reservation
- Contributions to documentation:
- Updated User Guide for all reservation-related features.
- Added the legend for command format of
Featuressection in User Guide.
- Updated User Guide for all reservation-related features.
- Contributions to the DG:
- Added description for the
Search Reservationfeatures. - Added content for Appendix A, C and D
- Added reservation-related content to Appendix B and E.
- Added description for the
- Contributions to team-based tasks: Project Management
- Creating the milestones v1.0, v2.0, v2.1
- Maintaining the issue tracker: I used the Github issues to allocate the upcoming work.
- Creating the milestones v1.0, v2.0, v2.1
- Review/mentoring contributions: Pull Request reviewed: #148, #149, #171