Mai Ting Kai's Project Portfolio Page
Project: FoodRem
FoodRem is an Inventory Management System that empowers small food and beverage (F&B) restaurant managers to manage inventory and obtain insights from inventory data. As a restaurant manager, you can easily view and edit your inventory during your daily operations. Utilize FoodRem’s flexible tagging system to help you organize your inventory according to your business needs. Finally, streamline your business decisions by deriving insights from your inventory usage through FoodRem’s statistics – you can keep track of metrics such as food wastage amount if you wish!
Given below are my contributions to the project.
-
New Feature: Statistics feature
- What it does: Calculates some statistics regarding the Items and Tags in FoodRem’s inventory, and displays them to the user. Statistics include: Top three most commonly used tags, top three most expensive items in inventory, total cost accrued due to food waste.
- Highlights: These statistics were chosen after discussion as they were determined to be most useful and provided a high degree of flexibility. It was not easy to choose the statistics.
-
New Feature:
Item
class- What it does: Provides an internal representation of an
Item
in FoodRem. Adapted from the original AB3’sPerson
class, I laid the foundation by adding the necessary attributes to represent anItem
. I also wrote test cases for theItem
class. - Justification: Represent the
Item
to be stored in a restaurant’s inventory. It is necessary as it represents the business logic of the program. - Highlights: Improvements were made over the original
Person
class, where SWE principles, like the Open-Closed principle, was used to refactor and design new code. - Credits: AddressBook - Level 3’s original codebase, where we adapted the
Person
class and other relevant classes.
- What it does: Provides an internal representation of an
-
New Feature:
inc
,dec
,view
commands- What it does:
inc
allows the user to increment a chosen item by a specified quantity.dec
allows the user to decrement a chosen item by a specified quantity.view
displays all relevant information about anItem
, such as the quantity, name, tags, to the user. - Justification: These are key features for FoodRem.
- What it does:
-
New Feature:
sort
command- What it does: This command allows users to sort the currently displayed
Item
list by a specified criteria. This facilitates the display of statistics to the user. - Justification: One of the key features for FoodRem.
- Highights: Faced complexity as it initially allowed sorting by multiple criteria, such as by name and quantity. Eventually refactored to only sort by one criteria.
- What it does: This command allows users to sort the currently displayed
-
Code contributed: RepoSense link
List of PRs is incomplete, only vital ones are shown.
-
Enhancements to existing features:
- Add Item model
PR#143
Pull Request #143
View on GitHub - Add Item Unit Tests
PR#155
Pull Request #155
View on GitHub - Add Sort Command
PR#158
Pull Request #158
View on GitHub - Add Increment and Decrement Command
PR#161
Pull Request #161
View on GitHub - Add View command
PR#209
Pull Request #209
View on GitHub - Add Statistics Command
PR#360
Pull Request #360
View on GitHub - Update find command
PR#367
Pull Request #367
View on GitHub - Fix stats command
PR#372
Pull Request #372
View on GitHub
- Add Item model
PR#143
Pull Request #143
-
Documentation:
- User Guide:
- Add User Guide section
PR#82
Pull Request #82
View on GitHub - Add Acknowledgements section to User Guide
PR#162
Pull Request #162
View on GitHub - Add Glossary section to User Guide
PR#163
Pull Request #163
View on GitHub - Consolidate UG v1.3
PR#264
Pull Request #264
View on GitHub - Update UG with v1.3 Features
PR#258
Pull Request #258
View on GitHub - Update README with v1.3 items
PR#311
Pull Request #311
View on GitHub - Update UG after Refactoring
PR#318
Pull Request #318
View on GitHub - Improve UG for v1.3
PR#335
Pull Request #335
View on GitHub - Fix UG after Peer Review
PR#351
Pull Request #351
View on GitHub - Fix find command description in Command Summary
PR#324
Pull Request #324
View on GitHub - Add warning for find command
PR#539
Pull Request #539
View on GitHub
- Add User Guide section
PR#82
Pull Request #82
- Developer Guide:
- Add Glossary, UC3, UC4 to Developer Guide
PR#87
Pull Request #87
View on GitHub - Add Glossary section to Developer Guide
PR#164
Pull Request #164
View on GitHub - Add Sorting user stories to DG
PR#210
Pull Request #210
View on GitHub - Add Sort Command UML
PR#232
Pull Request #232
View on GitHub - Update Developer Guide
PR#528
Pull Request #528
View on GitHub
- Add Glossary, UC3, UC4 to Developer Guide
PR#87
Pull Request #87
- User Guide:
-
** Features**:
- Add Item model
PR#143
Pull Request #143
View on GitHub - Add Sort Command
PR#158
Pull Request #158
View on GitHub - Add Increment and Decrement Command
PR#161
Pull Request #161
View on GitHub - Add View command
PR#209
Pull Request #209
View on GitHub - Add Statistics Command
PR#360
Pull Request #360
View on GitHub - Update find command
PR#367
Pull Request #367
View on GitHub - Fix stats command
PR#372
Pull Request #372
View on GitHub
- Add Item model
PR#143
Pull Request #143