A recipe app aimed to help users discover new recipes and save their existing ones
Live site
·
Report Bug
·
Request Feature
Table of Contents
This project is a full stack web app made for JMU's CS 343 Application Development class.
Built around the Spoonacular API, this website provides users the ability to exploree new recipes found on Spoonacular, save them to their account, and add their own existing recipes all in one place.
-
- Used to create the backend which provides user auth and performs CRUD operations on user recipes
-
- User and recipe data is stored in Supabase's built in PostreSQL database
-
- Provides built in responsive components
- Get a free API Key for Spoonacular
- Set up a free Supabase project
- Clone the repo
git clone https://github.com/Adamv27/Flavorful.git
- Create .env file from root of repo
touch backend/.env
- Enter your Spoonacular API key in
backend/.env
SPOONACULAR_API_KEY=(YOUR API KEY)
- Enter your Supabase Postgres URI in
backend/.env
- You can find this in Project Settings > Database
DATABASE_URL=postgresql://postgres:[YOUR-PASSWORD]@[HOST]:[PORT]/postgres
- Enter a JWT key from GRC in
backend/.env
JWT_KEY=(YOUR JWT KEY)
- Run backend in docker container
docker compose up --build
- Front end is vanilla JavaScript and can be ran by opening
Flavorful/frontend/index.html
in a web browser or using Live Server
- Display recipe details on card click
- Search for saved recipes
- Search for recipes based on queries
- Time
- Calories
- Cuisine
- Advanced parameters
- Add user account page
- Export saved recipe data to JSON
- Clear data
- Upload custom recipes
If you have a suggestion that would make this better, please fork the repo and create a pull request. Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt
for more information.