Project: TrackBeau

TrackBeau is a desktop application built for beauty salons to manage their customer base. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java.

Given below are my contributions to the project.

  • New Feature:
  • Added feature to obtain summary data on customer information such as pie charts on customer attributes and line chart on customers gained per month in the current year. A total of 7 chart commands were added to enable experienced users with a large customer base to easily understand their customer demographics. ** Challenges faced: Explored different design considerations such as a statistics panel with all charts and later decided on a pop-up window style for the charts to facilitate access to the charts.

  • Code contributed: RepoSense link

  • Project management:
    • Contributed to discussions on user stories to prioritise and relating code between different features.
  • Enhancements to existing features:
    • Added attributes to customers for salons to track such as birthday, registration date, skin type, hair type, preferred staff, preferred services and allergies.
    • Added feature to find by registration date and birthdate.
    • Made customers unique by phone number and email, rather than just by name, to facilitate the implementation of other features like Booking.
  • Documentation:
    • User Guide:
      • Contributed to the documentation for commands relating to customers.
      • Wrote the documentation for commands relating to plotting charts.
      • Fixed documentation flaws in the user guide.
    • Developer Guide:
      • Added the manual testing cases
      • Added the chart sequence diagram for plot command implementations
      • Made the add customer sequence diagram for implementation of add customer
  • Community:
    • Helped to peer review code.
      • #46, #72, #213 . Others include: #202,#132,#126,#115,#106,#103,#101,#99,#77,#73,#72,#70,#69,#66,#46
    • Helped to point out potential bugs or code quality flaws.
    • Worked with teammates to discuss about how to implement more complicated features.
    • Helped to manage the issues and task allocations.
    • Finding bugs to help other teams improve their product
  • Tools:
    • JavaFX Charts