Project: bobaBot

bobaBot is a desktop application for managing customers’ membership details. It is optimized for Command Line Interface (CLI) while retaining some benefits of the Graphical User Interface (GUI). If you are a cashier working at a bubble tea shop and can type fast, bobaBot can help you easily find and manage your customers’ membership information as compared to other GUI applications.

bobaBot contains a database of customers’ information and supports operations to add, update, delete and even find customers based on various inputs. Every entry in the database contains the customer’s name, phone number, email address, birthday month, reward points and membership tags.

bobaBot is written in Java and has about 13k LoC.

Given below are my contributions to the project.

  • New Feature: Added BirthdayMonth class to model a customer’s birthday month. PR #136
    • What it does: Tracks customers’ birthday months to provide them timely birthday promotions.
  • New Feature: Added emoji to be displayed in CustomerCard in GUI PR #144
  • Code contributed: RepoSense link

  • Project management:
    • Refactor addressbook to bobaBot PR #155
  • Enhancement to existing features: Update Customer (formerly Person) class to be uniquely identified by phone number and email address PR #66
    • Justification: Allows different customers with same names to be added into database. (e.g. Alex, Benjamin…)
    • Highlights: This enhancement affects existing commands and commands to be added in the future that needs to identify customers. It required analysis of robustness and trade-offs with other design alternatives.
  • Documentation:
    • User Guide:
      • Added documentation for the add feature. PR #145
    • Developer Guide:
      • Added Activity and Sequence diagrams for the add feature. PR #117
  • Community:
    • Reported bugs for other teams (#1 - #5)