This is the first full stack application I ever developed from scratch.
It addresses common problems that arise when from every day kitchen use, such as misplacing recipes, forgetting grocery lists at home, or buying food with uncertainty about what's already at home. This app helps users discover and keep track of new recipes, organize their grocery lists, and reference a digital record their pantry.
This version uses React, Redux, Express, Passport, and PostgreSQL (a full list of dependencies can be found in package.json
).
Before you get started, make sure you have the following software installed on your computer:
-
Fork and clone this repo
-
Setup your local database
- Create a new database called
kitcheNexus
using Postico - Run the database.sql file to set up tables
- Create a new database called
-
Create a
.env
file at the root of the project and paste this line into the file.SERVER_SESSION_SECRET=superSecretSession FOOD_APP_ID=foodAppId FOOD_APP_KEY=foodAppKey RECIPE_APP_ID=recipeAppId RECIPE_APP_KEY=recipeAppKey
While you're in your new
.env
file replace:superSecretSession
with some long random string like25POUbVtx6RKVNWszd9ERB9Bb6
to keep your application secure. Here's a site that can help you: https://passwordsgenerator.net/. If you don't do this step, create a secret with less than eight characters, or leave it assuperDuperSecret
, you will get a warning.foodAppId
andfoodAppKey
with your own key and app id after creating a free developer account on EdamamrecipeAppId
andrecipeAppKey
with your own key and app id after creating a free developer account on Edamam
-
In terminal in app root folder run the following commands
brew services start postgresql npm install npm run server npm run client
-
Navigate to localhost:3000 to begin using the app.
If you have not set up your edamam api keys, most of the functionality of the app will be unavailable.
- Create a new Heroku project
- Link the Heroku project to the project GitHub Repo
- Create an Heroku Postgres database
- Connect to the Heroku Postgres database from Postico
- Create the necessary tables
- Add an environment variable for
SERVER_SESSION_SECRET
with a nice random string for security - In the deploy section, select manual deploy
- React, Redux, and Redux-Saga
- Node.js and Express
- pg and PostgreSQL
- Material UI
- Anthony Dunahee - Git Profile
- Special thanks to Prime Digital Academy and their instructors for supporting me during the development of this app.
- Thank you Edamam for being a great and easy to use API that saved me a lot of data entry.
This project is licensed under the MIT License - see the LICENSE.md file for details