Recipe Manager
Recipe Manager is a desktop application made using QT for GUI that allows users to manage recipes and their associated nutritional values (macros). It provides features such as adding, editing, deleting, and searching recipes by name or ingredients. The data is stored persistently using a text file (database.txt).
Features
Core Functionality
- Add New Recipe: Input a recipe with name, ingredients, category, instructions, and macronutrients (protein, fats, calories, carbs).
- Edit Recipe: Modify any part of an existing recipe including ingredients or nutritional values.
- Delete Recipe: Remove a recipe by specifying its name.
- View All Recipes: Display a list of all stored recipes with full details.
Search and Filtering
- Search by Name: Retrieve a recipe by its exact name.
- Search by Ingredient: Find all recipes that contain a specific ingredient.
- Meal Planner by Ingredients: Interactively narrow down recipes that contain all selected ingredients.
- Macro Management: Find recipes that fall within a user-defined percentage range of target macronutrient goals.
Persistence
- Recipes are stored in a local file named
database.txt, which is read on program start and updated on every addition, deletion, or modification.
Data Model
Each recipe contains:
- Name: The title of the recipe.
- Ingredients: A list of ingredients.
- Category: A tag or label such as "Breakfast", "Vegan", "Dessert", etc.
- Instructions: A string explaining how to prepare the dish.
- Macros: Nutritional information, including:
- Protein (g)
- Fats (g)
- Calories
- Carbs (g)
File Format (database.txt)
Recipes are stored as comma-separated values, with semicolons separating ingredients and macros.
QT Application link :
https://drive.google.com/file/d/1pDIPT6Uy7c423KdJhE1kSpM5hDqks8wx/view?usp=sharing
Installation
To run application :
open QT application drive link :
https://drive.google.com/file/d/1pDIPT6Uy7c423KdJhE1kSpM5hDqks8wx/view?usp=sharing
and run RecipeManager.exe
To run CPP program :
open projectfinal1.cpp
Built With
- c++
- qmake
Log in or sign up for Devpost to join the conversation.