Tan Yi Xian'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.
-
Major Refactoring: Refactor AB3 into FoodRem
- What it does: Removes all occurrences of AB3. Converts the
Person
class into anItem
class. - Justification: This was essential in creating the minimum viable product and laid the groundwork for further extensions.
- Highlights:
- The refactoring was a challenging process as the changes must be documented along with the test cases. It was critical to ensure the test cases were still relevant to the
Item
class rather thanPerson
class. - The refactoring meant that all commands of AB3 were extensively modified to suit FoodRem:
- Command to list all items
- Command to find an item
- Command to create a new item
- Command to edit an existing item
- Command to delete an item
- Each Item field has a respective class
- A class has to be created for each of the following fields: name, quantity, unit, bought date, expiry date, price, and remarks.
- A validation class was created for each individual field to ensure easy extension.
- Commands such as the help, exit and reset, commands required minimal changes.
- The refactoring was a challenging process as the changes must be documented along with the test cases. It was critical to ensure the test cases were still relevant to the
- Pull requests : Refactoring Person to Item
PR#157
Pull Request #157
View on GitHub
- What it does: Removes all occurrences of AB3. Converts the
-
New Feature: Added the ability to add a remark
- What it does: Allows the user to add a remark to an item.
- Justification: This feature improves the user’s experience as they are now able to include notes specific to an item.
- Pull requests : Add remarks fields and remarks command
PR#254
Pull Request #254
View on GitHub
- New Feature: Add the user interface for tags
- What it does: Allows the user to view results of tag commands in a beautiful format rather than plain text.
- Justification: This feature standardises the UI of Items and Tags.
- The implementation was extended from the current UI of Items which was created by Richard Dominick.
- Pull requests : Add UI for tags
PR#340
Pull Request #340
View on GitHub
-
Enhancements to the
help
command:- Enhanced
help
command to provide help for individual commands rather than a generic message. - Enumeration of CommandWords was done.
- Pull requests : Modify help command to provide help for each individual command
PR#201
Pull Request #201
View on GitHub
- Enhanced
-
Enhancements to the
inc
anddec
command:- Enhanced
inc
command anddec
command to have optional qty prefix. - This was done to make it easier to increment and decrement the quantity of an item.
- Pull requests : Modify increment and decrement command to have optional qty prefix
PR#183
Pull Request #183
View on GitHub
- Enhanced
-
Code contributed: RepoSense link
-
Project management:
- Created the following milestones
V1.1, V1.2, V1.3, V1.4
- These milestones were essential in ensuring the group on track in our tasking.
- Created the following milestones
-
Documentation:
- User Guide:
- Add skeleton for the User Guide
PR#35
Pull Request #35
View on GitHub - Add value preposition of FoodRem in the User Guide
PR#147
Pull Request #147
View on GitHub - Update Quick Start of User Guide, and reorganise content page
PR#141
Pull Request #141
View on GitHub - Add documentation for the
help
feature PR#90 Pull Request #90
View on GitHub
- Add skeleton for the User Guide
PR#35
Pull Request #35
- Developer Guide:
- Refactored AB3’s Developer Guide to suit FoodRem.
PR#233
Pull Request #233
View on GitHub - Added “About FoodRem” section.
PR#433
Pull Request #433
View on GitHub - Added “How to use the Developer Guide” section.
PR#433
Pull Request #433
View on GitHub - Added “General Implementation Details” for Item-related features.
PR#531
Pull Request #531
View on GitHub - Added section on “Incrementing and Decrementing the quantity of an item”.
PR#531
Pull Request #531
View on GitHub - Added section on “General Features”.
PR#531
Pull Request #531
View on GitHub
- Refactored AB3’s Developer Guide to suit FoodRem.
PR#233
Pull Request #233
- User Guide:
-
Community:
- Reported bugs and suggestions for other teams in the class:
- Stats command do not calculate amount wasted by performing qty * price
Issue#449
Issue #449
View on GitHub - Stats command expiry date do not count items that expire today
Issue#448
Issue #448
View on GitHub - Stats command fail on FoodRem having less than 3 items
Issue#447
Issue #447
View on GitHub - Rename tag does not modify tags in items
Issue#293
Issue #293
View on GitHub - Rename tag to same name is possible
Issue#273
Issue #273
View on GitHub
- Stats command do not calculate amount wasted by performing qty * price
Issue#449
Issue #449
- Reported bugs and suggestions for other teams in the class:
Other PRs:
- Update AboutUs page
PR#14
Pull Request #14
View on GitHub - Add skeleton for User Guide
PR#35
Pull Request #35
View on GitHub - Update aboutUs page to include information about Yi Xian
PR#89
Pull Request #89
View on GitHub - Update userguide to include help command
PR#90
Pull Request #90
View on GitHub - Add skeletal PPP
PR#91
Pull Request #91
View on GitHub - Add skeletal for UC7 and UC8 in DeveloperGuide.md
PR#92
Pull Request #92
View on GitHub - Add image for aboutUs page
PR#96
Pull Request #96
View on GitHub - Remove boilerplate and update roles in About Us page
PR#100
Pull Request #100
View on GitHub - Point CI banners to own project and remove traces of AB3 in README.md
PR#102
Pull Request #102
View on GitHub - Add use case 7, use case 8 and user stories for inventory items
PR#129
Pull Request #129
View on GitHub - Update Quick Start of User Guide, reorganise content page
PR#141
Pull Request #141
View on GitHub - Change TYPE to UNIT in UserGuide.md
PR#145
Pull Request #145
View on GitHub - Add value preposition
PR#147
Pull Request #147
View on GitHub - Refactoring Person to Item 2
PR#157
Pull Request #157
View on GitHub - Convert Add command to New command
PR#173
Pull Request #173
View on GitHub - Rename command word from "delete" to "del"
PR#174
Pull Request #174
View on GitHub - Modify Find item messages and test to match FoodRem instead of AddressBook
PR#175
Pull Request #175
View on GitHub - Rename "Clear" to "Reset"
PR#176
Pull Request #176
View on GitHub - Modify increment and decrement command to have optional qty prefix
PR#183
Pull Request #183
View on GitHub - Modify help command to provide help for each individual command
PR#201
Pull Request #201
View on GitHub - Allow easier extension to help command by removing switch case
PR#211
Pull Request #211
View on GitHub - Update help, edit and delete command
PR#212
Pull Request #212
View on GitHub - Add price field in item
PR#229
Pull Request #229
View on GitHub - Move enum package to commons and remove traces of AB-3 from DG
PR#233
Pull Request #233
View on GitHub - Move enum package to commons and remove traces of AB-3 from DG
PR#233
Pull Request #233
View on GitHub - Add UML diagram for HelpCommand
PR#234
Pull Request #234
View on GitHub - Add remarks fields and remarks command
PR#254
Pull Request #254
View on GitHub - Standardise help command
PR#255
Pull Request #255
View on GitHub - Add test for Decrement, Increment, View, Sort, Help, Exit and Reset
PR#257
Pull Request #257
View on GitHub - Improve UG and add remarks and price fields
PR#272
Pull Request #272
View on GitHub - Fix "Rename tag to same name is possible" bug
PR#274
Pull Request #274
View on GitHub - Fix index out of bound bug and standardise naming of index across item command
PR#282
Pull Request #282
View on GitHub - Restructure expiry date and bought date to use singleton design pattern
PR#290
Pull Request #290
View on GitHub - Fix rename tag not changing tags within items
PR#296
Pull Request #296
View on GitHub - Fix storage modification causing bugs
PR#298
Pull Request #298
View on GitHub - Create welcome message for user that shows error if datafile has issue
PR#299
Pull Request #299
View on GitHub - Show empty FoodRem when data file is corrupted
PR#303
Pull Request #303
View on GitHub - Add tag related images
PR#314
Pull Request #314
View on GitHub - Centralise logic for validate string regex
PR#316
Pull Request #316
View on GitHub - Add remarks to help
PR#317
Pull Request #317
View on GitHub - Ensure all commands uses a parser
PR#329
Pull Request #329
View on GitHub - Add UI for tags
PR#340
Pull Request #340
View on GitHub - Prevent special chars in find command
PR#355
Pull Request #355
View on GitHub - Modify view command to show error for negative index
PR#357
Pull Request #357
View on GitHub - Modify price validator to not accept 3.e1
PR#358
Pull Request #358
View on GitHub - Update UG
PR#359
Pull Request #359
View on GitHub - Add storage restriction to items and tags
PR#362
Pull Request #362
View on GitHub - Apply negative index validation to all commands
PR#365
Pull Request #365
View on GitHub - Update User Guide to match changes to codebase
PR#368
Pull Request #368
View on GitHub - Fix date validation
PR#370
Pull Request #370
View on GitHub - Update find to match new find
PR#371
Pull Request #371
View on GitHub - Update help command to use ITEM_NAME and TAG_NAME instead of NAME
PR#374
Pull Request #374
View on GitHub - Fix sorting by name
PR#375
Pull Request #375
View on GitHub - Set height of text area to be 450
PR#376
Pull Request #376
View on GitHub - Add minor changes in the Userguide
PR#429
Pull Request #429
View on GitHub - Fix broken glossary term for expiry date and broken link for flags
PR#432
Pull Request #432
View on GitHub - Fix getColor for tags
PR#434
Pull Request #434
View on GitHub - Use stats parser to restrict command arguments
PR#435
Pull Request #435
View on GitHub - Ensure we cannot create an item with bought date after expiry date
PR#450
Pull Request #450
View on GitHub - Fix error message that says "the FoodRem"
PR#466
Pull Request #466
View on GitHub - Update PPP
PR#504
Pull Request #504
View on GitHub - Improve code quality
PR#517
Pull Request #517
View on GitHub - Fix minor errors
PR#519
Pull Request #519
View on GitHub - Add reposense @@author tag
PR#522
Pull Request #522
View on GitHub - Fix grammar in DG
PR#524
Pull Request #524
View on GitHub - Add DG help command sequence diagram and activity diagram
PR#527
Pull Request #527
View on GitHub - Fix bought date to be in future in test cases
PR#465
Pull Request #465
View on GitHub - Fix error message that says "the FoodRem"
PR#466
Pull Request #466
View on GitHub - Update PPP
PR#504
Pull Request #504
View on GitHub - Improve code quality
PR#517
Pull Request #517
View on GitHub - Fix minor errors
PR#519
Pull Request #519
View on GitHub - Add reposense @@author tag
PR#522
Pull Request #522
View on GitHub - Fix grammar in DG
PR#524
Pull Request #524
View on GitHub - Add DG help command sequence diagram and activity diagram
PR#527
Pull Request #527
View on GitHub