Nidhi Nayak - Project Portfolio Page
Overview
Meet Recipe IO, a friendly command line interface (CLI) to help users manage their recipes. Recipe IO
allows users to add recipes, delete recipes, find recipes via different criteria, and saves the user’s recipe book to
computer storage.
Summary of Contribution
- Code Contributed: RepoSense link
- Enhancements Implemented:
- Code Structure: Created the
RecipeList
Class that stores user recipes.
- Initial PR, Error Handled PR
- The RecipeList Class efficiently manages and organizes user-submitted recipes, facilitating easy storage and retrieval.
- Code Structure: Created the
Input Parser
Class to parse user inputs as different commands + their respective parameters.
- PR
- While the inital PR was a WIP, it was later discovered that my code was all functional and worked as expected, but due to a previously merged error in the scanning the next line, the build was failing. My code was then copy-pasted by @yuki-zmstr when he fixed the previous mistake. This also explains the author credits for this class.
- Functionality: Created the
AddRecipeCommand
and DeleteRecipeCommand
command for users to manage recipes.
- PR
- Same explanation as above for why PR was a WIP. Fixed with @@ author tag.
- Functionality: Added a
FindName
and FindDate
class that handles finding recipes by keyword and date. (follows the Single Responsibility Principle)
- Functionality: Add extensive error handling for the
addRecipeCommand
for lack of parameters, integer values, null inputs, etc.
- JavaDoc: Added JavaDoc to several methods and fixed formatting in previous javadoc comments.
- Documentation - UG:
- Enhanced the description of Recipe IO.
- Included necessary disclaimers about parameters, interpreting the UG, and how to efficiently use the CLI.
- Added a troubleshooting section, Q&A section, and formatting/descriptions for specific user commands.
- PR#1,
PR#2
- Documentation - DG:
- Added user stories for v2.0 and v2.1.
- Added a commmand summary glossary.
- Enhanced the target users section to include more groups, make it broader, and more detailed.
- Add use cases of different user commands.
- PR#1, PR#2, PR#3
- Project management:
- Maintained the collaborative document for my team (took notes at weekly meetings and put todos at the top). Collaborative Document
- Release version 1.0 + closed the v1.0 milestone (shifted all leftover issues to v2.0) v1.0
- Contributions to team-based tasks:
- Maintaining the issue tracker
- Creating issues, assigning issues, clearing issues from issue tracker once completed.
- Note-taking during every team meeting and adding it to the collaborative document.
- Mentoring Contributions:
- Assisted @chenxk619 in a step-by-step process for how to release version 2.0. (Refer to his PPP for credit)
- Making syntax suggestions when teammate’s code can be simplified/look cleaner.
- Reviewed numerous PR’s: #171, #164, #168, #39
- Contributions beyond the project team:
- Made 10 bug reports during PE-D.
- eg: 1, 2, 3