Skip to content

Latest commit

 

History

History
140 lines (110 loc) · 3.54 KB

README.md

File metadata and controls

140 lines (110 loc) · 3.54 KB

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