tp

User Guide


Table of Content


Introduction

Your Mother’s Favourite Cookbook (YMFC) is a desktop app for managing recipes, designed for use through the Command Line Interface (CLI). YMFC can help you manage all your recipes with ease, using the simplicity of the CLI. It can also keep track of what ingredients you have on hand, and recommend recipes based on what you can make with them.

Quick Start

  1. Ensure that you have Java 17 or above installed.
  2. Download the latest version of YMFC from here.
  3. Open a command line terminal (Terminal on Linux and macOS, Command Prompt on Windows).
  4. Navigate to the directory where YMFC.jar is saved at.
    • You can use the cd command to navigate to the proper directory.
  5. Type in java -jar YMFC.jar in the command line terminal to launch YMFC.
  6. Use commands listed in the Features.
  7. Type bye to exit YMFC.

Features

Recipes and Ingredients

Save-Load System

Input Formatting Guide

Getting Help:help

Format: help

Lists out all the available commands and their proper format for use.

Exiting YMFC: bye

Format: bye

Will end the program and close the app.

Features and Command - CookBook for Recipes

Adding a New Recipe: add

Format: Format: add n/NAME i/INGREDIENTS... sn/STEPn... [c/CUISINE] [t/TIME]

Adds a new recipe to YMFC’s cookbook.

Example of usage:

add n/Ramen Eggs i/eggs i/soya sauce i/water s1/boil eggs for 6.5 min s2/cool eggs in ice bath c/Japanese t/4

add n/Grilled Cheese Sandwhich i/bread i/cheese slice i/butter s1/heat pan with butter s2/grill bread on pan, and add cheese on top s3/remove from grill after 3 minutes

Expected Outcome:

__________________________________________________________________________________
Okie dokie, one more recipe for me:
 Recipe: Ramen Eggs
  Ingredients: 
    - eggs
    - soya sauce
    - water
  Steps: 
    1. boil eggs for 6.5 min
    2. cool eggs in ice bath
  Cuisine: Japanese
  Time taken: 4
You currently have 1 recipe in your list.
__________________________________________________________________________________
__________________________________________________________________________________
Okie dokie, one more recipe for me:
 Recipe: Grilled Cheese Sandwhich
  Ingredients: 
    - bread
    - cheese slice
    - butter
  Steps: 
    1. heat pan with butter
    2. grill bread on pan, and add cheese on top
    3. remove from grill after 3 minutes
You currently have 2 recipes in your list.
__________________________________________________________________________________

Listing out Existing Recipes

Format: list

Lists out all the recipes currently stored in YMFC’s cookbook.

Sorting Recipes by Recipe Name

Format: sort s/name

Sorts all the stored recipes alphabetically by name, from ‘a’ to ‘z’ Entire command MUST be in lowercase

Sorting Recipes by Time Taken

Format: sort s/time

Sorts all the stored recipes by time taken, from lowest to highest Entire command MUST be in lowercase

Searching for specific Recipes

Format: find [OPTIONS/]KEYWORDS

Looks through the stored recipes in the cookbook to find those with matching names/steps/ingredients.

Example of usage:

find i/eggs

Expected Outcome:

__________________________________________________________________________________
Here's everything that I've found so far:
1. Recipe: Ramen Eggs
  Ingredients: 
    - eggs
    - soya sauce
    - water
  Steps: 
    1. boil eggs for 6.5 min
    2. cool eggs in ice bath
  Cuisine: Japanese
  Time taken: 4
__________________________________________________________________________________
Total: 1 recipes found!
__________________________________________________________________________________

Editing an existing Recipe

Format: edit e/NAME [n/NAME] [i/INGREDIENTS...] [sn/STEPn...] [c/CUISINE] [t/TIME]

Will find the recipe of the entered name and change its parameters to the newly entered parameters.

Example of usage:

edit e/Grilled Cheese Sandwhich i/bread i/mayonaise i/cheese slice i/butter s1/heat pan with butter s2/spread mayonaise on outside of bread s3/grill bread on pan, and add cheese on top s4/remove from grill after 3 minutes

Expected Outcome:

__________________________________________________________________________________
You got it boss, I have edited your recipe for Grilled Cheese Sandwhich to:
Recipe: Grilled Cheese Sandwhich
  Ingredients: 
    - bread
    - mayonaise
    - cheese slice
    - butter
  Steps: 
    1. heat pan with butter
    2. spread mayonaise on outside of bread
    3. grill bread on pan, and add cheese on top
    4. remove from grill after 3 minutes
__________________________________________________________________________________

Deleting an existing Recipe

Format: delete n/NAME

Will find the recipe of the entered name and delete it from YMFC’s cookbook, and the name must be exact

NOTE: This action is not reversible

Example of usage:

delete n/Ramen Eggs

Expected Outcome:

__________________________________________________________________________________
Aww, I shall begrudgingly let go of this recipe:
  Ramen Eggs
You currently have 1 recipe in your list.
__________________________________________________________________________________

Features and Command - Inventory for Ingredients

Adding a New Ingredient

Format: new n/INGREDIENT

Adds a new ingredient to your inventory

NOTE: Ingredients can only be added one at a time

Example of usage:

new n/Eggs

Expected Outcome:

__________________________________________________________________________________
I'll add that to your inventory:
 Eggs
You currently have 1 ingredient in your inventory.
__________________________________________________________________________________

Listing out Existing Ingredients

Format: listI

Lists out all of your available ingredients in your inventory

Finding Ingredients

Format: findI INGREDIENT

Search through your inventory list based on the ingredient name given

Deleting an Existing Ingredient

Format: deleteI n/INGREDIENT

Will find the ingredient of the entered name and delete it from YMFC’s inventory, and the name must be exact

NOTE: This action is not reversible

Sorting Ingredients by Ingredient Name

Format: sortI

Sorts all the stored ingredients within the inventory alphabetically by name, from ‘a’ to ‘z’

Features and Command - Getting Recipe Inspirations

Displaying a Randomly-chosen Recipe

Format: random

Picks a recipe from the cookbook at random and displays it

Recommend Recipes Based on Available Ingredients

Format: recommend

Find recipes that share common ingredients with what is in your ingredients inventory. Recipes are then recommended from having the highest percentage of shared common ingredients to the least.

FAQ

Q: How do I transfer my data to another computer?

A: Copy the data folder containing cookbook.txt and inventory.txt, and paste it in your other computer in the same directory where YMFC.jar is located

Q: Can I edit the .txt files directly?

A: Yes, but you must ensure that the format of how recipes and ingredients are saved is followed. If there are irregular lines in the save files, YMFC will discard them upon launch.

YMFC.Command Summary

Command Usage
help List out all the available commands and their usage
bye Terminate the program
list List out all the existing recipes in the cookbook
add n/NAME i/INGREDIENTS... sn/STEPn... [c/CUISINE] [t/TIME] Add a new recipe to the cookbook
sort s/name Sort the recipes alphabetically by name. Entire command must be in lowercase.
sort s/time Sort the recipes by time, from least to most. Entire command must be in lowercase.
find [OPTIONS/]KEYWORDS Look for the KEYWORDS in recipes section (provided by OPTIONS)
(Find in recipe name by default)
edit e/NAME [n/NAME] [i/INGREDIENTS...] [sn/STEPn...] [c/CUISINE] [t/TIME] Edit an existing recipe in the cookbook
delete n/NAME Delete the recipe of that name from the cookbook
new n/INGREDIENT Add a new ingredient to your inventory
listI List out all your current ingredients in the inventory
findI INGREDIENT Search the inventory with input ingredient name
deleteI n/INGREDIENT Delete the ingredient from inventory of that name
sortI Sort the ingredients in the inventory alphabetically by name
random Display a randomly-chosen recipe from cookbook
recommend Display all recipes that share common ingredients with what’s available in the inventory