RecipEasy is a desktop application that can be used in order to keep track of your recipes and the various types of nutritional information associated with these (and their individual ingredients). This application works by using the Food Data Central USDA API which allows for searching and retrieving the nutrients for 100 grams or milliters of any types of ingredients or food. Recipes (which contain ingredients) will contain a balance index (see 'recipe.class') and total nutrients.
- Create Recipes
- Rename Recipes
- Delete Recipes
- Search for ingredients
- View retrieved ingredients using the API and view their nutritional information
- Add custom amounts of an ingredient to a recipe
- Rename an ingredient that has been added to a recipe
- Adjust the amount of an ingredient in a recipe
- Generate a 'balance index' for each recipe (scale 0-100)
- Sort all recipes in descending order of the balance index
- Implemented my own custom linked list
- Implemented merge sort recursively using my linked list O(NlogN)
- Implemented my own simplified version of a "ranking algorithm" that I call balance index (see 'recipe.java' class)
- Used Java swings for the graphical user interface
- Made a custom JList using Swings
- Made use of HTTP requests and responses when using the API to retrieve information
- Parsed and Read JSON responses to instantiate the necessary java objects
The workspace contains two folders by default, where:
src
: the folder to maintain sourceslib
: the folder to maintain dependencies
Option 1: The easy option
- Click on the green 'Code' button next to the 'about section'
- Click on 'Download ZIP'
- Drag the downloaded ZIP file to a preferred directory on your device.
- Extract the ZIP file
- Import the project to a preferred IDE (Make sure that the libraries are imported as well)
- Open 'app.java'
- Run the main method
- Happy Cooking!
Option 2: Through Github
- Navigate to your Shell ('Terminal' for MacOS or 'cmd' for Windows)
- Type 'cd desktop' to navigate to the desktop directory (you will be cloning this project to your desktop)
- Type Git Clone https://github.com/BehsadRiemer/RecipEasy/ (using your personal access token)
- Open the project file.
- Import the project or open it in a preferred manner.
- Open 'app.java'
- Compile 'app.java'
- Happy Cooking!
This project USED to contain an API key. If you would like to use and test the application out please visit the Food Data Central USDA website to generate an API key. You can paste this API key below the commented line in the 'foodApiFunctions.java' class.