Project: BobTheBistroBoss

Overview

BobTheBistroBoss (BTBB) is a desktop application for home chefs to manage their orders and inventory, optimized for use via a command line interface (CLI).

Summary of Contributions

  • New Feature: Implemented commands to add and delete ingredients of an order. (Pull request #92).
    • What it does: Allows the user to add and delete ingredients of an order.
    • Justification: Each order has a list of ingredients. Users may want to change one ingredient in the list without having to key in all the other ingredients again. These commands allow the user to control which ingredient they want to change.
    • Highlights: Used a different implementation from how AB3 edits a list within an entity. Previously, editing a list within an entity (e.g. editing a list of tags in a contact) rewrites the entire list. Now, users can edit individual items in the list without the hassle of rewriting everything.
  • New Feature: Added the ability to find items that are an exact match or lie within a range. (Pull request #85).
    • What it does: Allows the user to find relevant data with a command.
    • Justification: Users will store a lot of data after using the app for some time. The find feature allows them to filter for data they need.
    • Highlights: Implemented two generic classes to make the find feature more flexible. This allows different objects to make use of the generic classes if they intend to achieve the same search behaviour, which reduces code duplication.
  • New Feature: Added the ability to switch between tabs programmatically. (Pull requests #66, #74).
    • What it does: Allows the user to switch tabs with a command and allows the application to automatically switch to the relevant tab after execution of a command.
    • Justification: As the application is a command line interface, users spend a significant portion of time typing commands. A tab command increases convenience as users do not have to shift their hands away from the keyboard just to switch tabs. Additionally, users may execute a command that updates the view of a different tab. Switching tabs automatically allows users to view their changes easily.
    • Highlights: Extended CommandResult to store tab information and added methods in the Ui layer to switch tabs if necessary.
  • Code contributed: RepoSense link

  • Team tasks:
    • Made the release of v1.2 and v1.3 on GitHub.
    • Set up the codebase so that the team can implement new features in a consistent manner and in parallel. (Pull requests #34, #56).
    • Maintain the issue tracker by creating issues, adding labels and closing issues.
  • Enhancements to existing features:
    • Implemented the overall GUI such as styling and tabs. (Pull request #66).
  • Review/mentoring contributions:
    • PRs reviewed: #69, #84, #120, #159.
    • Planned tasks and facilitated task distribution.
  • Documentation:
    • User Guide:
      • Added some recipe features. (Pull Request #156).
      • Updated feature overview. (Pull Request #233).
    • Developer Guide:
      • Added user stories. (Pull Request #78).
      • Added implementation details for the switching of tabs and editing of ingredients in orders/ recipes. (Pull Request #158).
      • Added some manual testing instructions. (Pull Request #239).
  • Community: