Skip to content

ShahAnuj2610/tomato-food-delivery

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tomato-food-delivery-app

Tomato app is a full-stack system build in MERN.js which aims to offer a customer a range of food products to order. Then the customer can choose and order a menu build on its own.

The main features are:

  • Complete guidance on the UI for the ordering process.
  • 2 different roles (Role Based Access Control):
    • Manager: Can process the orders received in Real time, view a history, add new restaurants and new meals. Can change the order status.
    • User: Can order from the restaurants. Also view a orders history.
  • Use of state-machine to validate transitions of order status.
  • Follow React and Node.js best practices.

Quick Start

// Install dependencies for server & client
npm install && npm run client-install

// Run client & server with concurrently
npm run dev

// Server runs on http://localhost:5000 and client on http://localhost:3000

MERNJS stack

Demo

Create Restaurant (Role: Manager)

manager-login

Order Food (Role: User)

Let's order food from the above restaurant.

user-login

Configuration

Make sure to add your own MONGOURI from your mLab database in config/keys.js.

module.exports = {
  mongoURI: "YOUR_MONGO_URI_HERE",
  secretOrKey: "secret"
};