Robin's Project Portfolio Page
Project: McKitchen
McKitchen (My-CLI-Kitchen) is a desktop application that can quickly store, edit, and search for recipes by running a single command. This is ideal for the fast typists, amateur cooks, busy students or executives who want a simple way to store or search for simple recipes to cook.
The user interacts with it using a CLI-like interface, and it has a GUI created with JavaFX. It is written in Java and has about 8k LoC.
Listed below are my contributions to the project with majority of the credits given to AB-3 as it served as a strong foundation for our application.
- New Feature : Added the View Command feature.
- What it does: Allows the user to view the contents stored in a saved recipe.
- Justification: This feature is a necessary feature to allow user to view the contents of their saved recipes.
- Highlights: Wrote test cases for
ViewCommand
andViewCommandParser
.
- New Feature : Added click to view feature for the recipe list view.
- What it does: Allows the user to view the contents stored in a saved recipe simply by clicking the recipe card in the list.
- Justification: This feature is a nice-to-have to improve the user-friendliness of the application.
- Highlights: This enhancement requires the addition of a listener to update the main window in the event the selected recipe in the list changes.
This was implemented in
MainWindow
to preventRecipeListPanel
being dependent on the implementation details ofMainWindow
- New UI Component : Replaced existing result display text area with dynamically updating window.
- What it does: The new UI component parses the information stored within a recipe and displays it in a pleasant graphical form, complete with varying fonts styles and highlighted boxes.
- Justification: This feature improves the user experience of our application by allowing users to efficiently obtain key information about a desired recipe.
- Highlights: Contents within the window dynamically adjust to fit the window during resizing of the application.
-
Code contributed: Click here to see the code that I’ve contributed on RepoSense.
- Project management:
- Took detailed minutes during weekly meetings to aid in the planning and distribution of work for that week.
- Enhancements to existing features:
- Updated the GUI Layout and components (Pull requests #49, #116)
-
Updated the GUI Styling (Pull requests #86)
- Contributed to implementation details for Clear command (Pull requests #127)
- Wrote additional tests for existing features to increase coverage from 56.03% to 58.17% ( Pull requests #150, #172)
- Documentation:
- Community: