This project has been shelved, and the idea is now being materialized in the form of an Android app, Repertoire.
A CLI Recipe Management System, made using a Java Maven Project. The program saves data in the form of .txt
files from which information is loaded into different objects for manipulation. When the user exits the program, any files whose data had been updated are re-written, and the other files are left as they were.
This is my first extensive personal project! I would really appreciate any contributions.
The user can instruct the program to export any recipe to PDF. Internally, the recipe file is first converted from an unformatted .txt
file to a formatted .md
file, and then it is converted to .pdf
which is ready for printing.
The user can search by recipe name, section name, ingredient name, time limitation, and keywords. Search Engine Commands:
search ingredient <ingredientName>
search recipe <recipeName>
search section <sectionName>
search for <keywordName>
add recipe <recipeName>
After that, the user is prompted to mention the section where they want to store the recipe. A future version will allow unsectioned recipes.
After which the user enters the edit wizard as described below.
After the user opens a recipe, they can enter edit
to enter the Edit Wizard (if the recipe was just created as described above, writing edit
is not required), in which they can type the following commands:
delete recipe
to delete the recipe. They have to answer a confirmation prompt before the recipe is actually deleted.add ingredient <ingredientName>
which adds the ingredient if it exists elsewhere in the repertoire, or creates one if it is new. The user then enters the Quantity Edit Wizard, where they can add the quantity of the ingredient for that recipe and the corresponding unit.edit ingredient <ingredientName>
to change the quantitiy/unit of the ingredient for that recipe. Currently, the system does not support editing the name of the ingredient after it has been added.delete ingredient <ingredientName>
to delete the ingredient from the recipe, but not from the system. If no other recipes reference the ingredient, then it is garbage collected by the JVM at some point (the program does not deal with garbage collection).add step <stepString>
to add one step at a time.
A future version will allow the addition of multiple ingredients and steps at once.
- After the user opens a recipe, they can type
export
to convert the recipe into a nicely formatted PDF with MarkDown style formatting for printing or other such uses.