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 reservation
to add a reservation with details to thereservations
list in the application. - Justification: This feature is needed for restaurant to add the newly received reservation to the list in the application.
- Highlights: The
AddReservationCommand
class will examine if the user misses some inputs or delimiters. Adding the reservation is handled byReservationList
class.
- What it does: Allows users to input
- Feature: Mark a Reservation
- What it does: Allows users to input
delete reservation
to mark a reservation as invalid or inputmark reservation
to 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
VoidReservationCommand
orMarkReservationCommand
class will examine if the user misses some inputs or delimiters.
Marking the reservation is handled byReservationList
class. 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 reservation
to list all reservations, or inputlist served reservation
to list all served reservations, or inputlist unserved reservation
to 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
ListServedCommand
andListUnservedCommand
class will do a linear search amongreservations
list 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 reservation
to 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
SearchReservationCommand
class will do a linear search amongreservations
list to find the matched reservations.
- What it does: Allows the users to input
- Feature: Load the
Reservation
from the “report.txt” file to thereservations
list- What it does: The reservations in the txt file will be automatically loaded into the
reservations
list when the program is started. - Justification: This feature is needed for restaurant to view reservations added before.
- Highlights: The
LoadReservation
class will be in charge of loading reservations in the txt file into thereservations
list.
- What it does: The reservations in the txt file will be automatically loaded into the
- Feature: Clear the
reservations
list- What it does: Allows the user to input
clear reservation
to clear all reservations. - Justification: This feature exists in case the restaurant really needs it.
- Highlights: The
ReservationList
class will clear thereservations
ArrayList 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
,mark
anddelete
activities which can modify thereservations
list. 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
Features
section in User Guide.
- Updated User Guide for all reservation-related features.
- Contributions to the DG:
- Added description for the
Search Reservation
features. - 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