Skip to content

vivek-30/food-flame

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FoodFlame

Manage all your favourite cooking recipes with foodflame app.
Discover mouth watering dishes or share your loving recipe with others in minimal efforts.

Table of Contents:

Setup and Installation:

  1. Clone this Repository.
  git clone https://github.com/vivek-30/food-flame.git
  1. Rename .env.example to .env
  mv Server/.env{.example,}
  1. Enter values for enviornment variables in .env file.

  2. Build Images and Run Docker Containers using docker-compose

  docker compose up -d

Available Scripts:

Frontend:

  1. npm start
    To start this react application.

  2. npm run build
    create a production build of this app inside /build folder.

  3. npm test
    Launches the test runner in the interactive watch mode.

  4. npm run eject
    This command will remove the single build dependency from your project.

Backend:

  1. npm run build
    To generate the production build inside /dist folder.

  2. npm start
    To start the server using node.

  3. npm run serve
    To concurrently transpile *.ts files in watch mode and start the server using nodemon.

API Routes:

users:

  1. /user/sign-up  [POST]
    To sign up a user.

  2. /user/log-in  [POST]
    To sign in a user.

  3. /user/log-out  [GET]
    To log out a user.

recipes:

  1. /recipes/  [GET]
    To get all recipes sorted according to their name.

  2. /recipes/:id  [GET]
    To get a specific recipe having ID as id.

  3. /recipes/add-recipe  [POST]
    To add a new recipe. (Check the schema below)

  4. /recipes/:id  [PUT]
    To update a recipe having ID as id.

  5. /recipes/:id  [DELETE]
    To remove a recipe having ID as id.

Schema:

user:

  {
    username: String,
    email: String,
    password: String,
    verified: Boolean
  }

Except for "verified" field, all other fields are required in case of signup but in case of login both "username" and "verified" fields can be omitted.

recipe:

  {
    name: String,
    imageSRC: String,
    description: String,
    ingredients: [String],
    cookingSteps: [String],
    userID: String
  }

Apart from imageSRC field all are required to save / create a recipe.

Available PORTS:

  1. 4000 - Server
  2. 3000 - Client

ScreenShots:

ScreenShot-1 ScreenShot-2 ScreenShot-3 ScreenShot-4 ScreenShot-5 ScreenShot-6 ScreenShot-7 ScreenShot-8 ScreenShot-9 ScreenShot-10 ScreenShot-11 ScreenShot-12 ScreenShot-13