Introduction

This page serves to document my contributions to the project ezFoodie under NUS module CS2103T in AY21/22 semester 1.

Project: ezFoodie

ezFoodie is a desktop application that helps restaurants keep track of their ever-growing list of members. Restaurant managers and staffs can easily view and update member status (e.g. personal information, tier, reservation, transaction, etc.) to manage and analyze members. Restaurant managers and staffs interact with ezFoodie using a Command Line Interface (CLI), and has a Graphical User Interface (GUI) created with JavaFX.

It is written in Java, and has about 35 kLoC, of which I contributed about 1 kLoC.

Given below are my contributions to the project.

  • Code contributed: RepoSense link

  • New Model: Created the Reservation model to support adding reservation details for each member. #94
    • What it does: stores the details of each reservation under each member.
    • Justification: This model is essential as it is one of the core features of ezFoodie.
    • Highlights: This enhancement requires understanding on how hash works. The implementation was challenging as the Account information need to be hashed when it is storing in the file for the purpose of high security.
  • New Feature: Added the ability to addReservation to a member. #94
    • What it does: adds a new reservation to the reservation list of a member.
    • Justification: This feature is essential as it is one of the core features of ezFoodie.
    • Highlights: This enhancement requires understanding on how polymorphism works and implement it so that the application will use Object-oriented programming (OOP) sufficiently. The implementation was challenging as the AddCommand need to be abstracted, and inherit AddCommand by AddCommandPrefixParser, and further inherit AddCommandPrefixParser by AddReservationCommand. Similarly, the AddCommandParser also need to be abstracted, and inherit it with AddReservationCommandParser.
  • Enhancements to existing features:
    • Updated the help window UI to suit the needs of ezFoodie #56
  • Project management:
  • Documentation:
    • User Guide:
    • Developer Guide:
      • Added documentation for add reservation feature, fixed mistakes and bugs #199, #218
  • Community: