Geng Ning's Project Portfolio Page
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 theUi
layer to switch tabs if necessary.
-
Code contributed: RepoSense link
- Team tasks:
- Enhancements to existing features:
- Implemented the overall GUI such as styling and tabs. (Pull request #66).
- Review/mentoring contributions:
- Documentation:
- User Guide:
- Developer Guide:
- Community: