Chang Hui Zhen Project Portfolio
Overview
Kitchen Helper is a command-line application that was developed by a team of 6 Information Security students. We aim to help housewives with the management of their kitchen-related activities. This application enable users to keep track of their ingredients as well as the chores to be completed.
Contributions
Code Contributions
Enhancements implemented
- Major
- Adding of recipe
- Functionality: This is a representation of a collection of ingredients that are commonly cooked together.
- Justification: With this functionality, users will be able to check for the ingredients that are used for a certain dish and would be available for future reference.
- Highlight: Users would not need to worry that their recipe or ingredient name has to be restricted (i.e. can contain whitespace, any category)
- Adding of recipe
- Cooking a recipe (Logical checks before deduction)
- Functionality: This is a batch deduction of ingredients that are found in the recipe specified. Before deduction, a series of checks were performed. If all the checks passed, the automatic deducted will be proceeded, an error message otherwise.
- Justification: This feature ensure that the user will be notified when there is an expired ingredient before proceeding with the cooking of the recipe. This is important as the user might not have noticed that there is insufficient non-expired ingredient.
- Highlight: The user is notified with specific error messages on several situations including sufficienct ingredients, insufficient ingredients and when there is sufficienct ingredients that included expired ingredients.
- Resetting the application
- Functionality: All application data will be wiped and restarted from fresh.
- Justification: User can choose to clear the inventory without having to run delete each of the recipes/ ingredients/ chores themselve.
- Highlight: This provides automatic clearance to the application.
Documentation
- User Guide
- Sections: 3.1.3. Resetting the application:
reset
, 3.4.1. Adding a recipeaddrecipe
, 3.4.5. Cooking a recipecookrecipe
,
- Sections: 3.1.3. Resetting the application:
- Developer Guide
- Sections: 1.1 Background, 3.2. Ui Component, 3.6. Common Classes, 4.2.1 Addition of Recipe, 4.2.3. Cooking a recipe (Design Considerations), 4.6. Logging, Apppendix D & E, Appendix F.6., F.8.
Team-based tasks
- Setting up the team repo
- Release Management: Managed
v1.0
tov2.1
releases - General code enhancements: adding missing JavaDocs, remove dead codes
- Integration of code snippets and maintaining repository
Review/mentoring contributions
-
Pull Requests reviewed (with non-trivial comments): #41, #118, #122, #124, #125, #137, #141, #153, #156, #157, #165, #243, #246, #247, #254
-
Reported Bugs: #1, #2, #3, #4, #5, #6, #7, #8, #9, #10, #11, #12