tp

Chen Xiao Kang - Project Portfolio Page

Overview

Recipe.io is a command line application that helps people who love to cook, be it professional culinary practitioners, or even students, to manage their recipes.

Summary of Contributions

  1. Code contributed: RepoSense link

  2. Enhancements:
    • Code Structure: Extract constants into their own classes
      • Extract most strings and magic literals from classes inside ui , recipe and commands folders to their own constant class in the constants folder
      • Justification: Improves code maintainability and readability
      • PR
    • Code Structure: Initial storage function
      • Initial version that loads and saves changes made to recipeList
      • Justification: Essential component to allow users to save and load recipes instead of starting anew
      • Credits: @yuki-zmstr for enhancing and extracting the function to be more object orientated
      • PR-1, PR-2
    • Code Structure: Find by url function
      • Allows users to find recipes via their url
      • Justification: Users can view all their saved recipes belonging to a certain url
      • PR
    • Functionality: Add error handling for invalid url entries
      • Exception checker for users with invalid domain or subdomain formats
      • Justification: Prevents users from inputting invalid urls
      • PR
    • Functionality: Add error handling for negative calories or cook time
      • Exception checker to prevent users from inputting negative integers
      • Justification: Negative calories and cook time does not exist in the real world
      • PR
    • Testing: Add testing for find url functions
    • To validate that different types of url functions are found correctly
    • PR
  3. Documentation - DG:
    • Add test cases for adding a recipe, sorting by list, and also added console output examples for deleting a recipe, finding recipes by date and keyword
    • PR-1, PR-2
  4. Documentation - UG:
    • Update user guide on inputting the url correctly with example usage, and some other description changes
    • PR
  5. Project management: Managed released v2.0.0 on GitHub.
    • Credit: @nidhi-nayak for assisting on the release
  6. Community:
  7. PED Fixes: Fixed 6 PED bugs