10000 GitHub - loganprit/grubdash: A food delivery platform that allows users to browse restaurants, view menus, and place orders
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

A food delivery platform that allows users to browse restaurants, view menus, and place orders

Notifications You must be signed in to change notification settings

loganprit/grubdash

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GrubDash Monorepo

This monorepo contains both the frontend and backend applications for GrubDash, a food delivery platform that allows users to browse restaurants, view menus, and place orders.

Features

  • Browse restaurant menus and dishes
  • Create, read, update, and delete dishes
  • Place and manage food orders
  • Real-time order status tracking
  • Responsive design for mobile and desktop

Technology Stack

Frontend

  • React.js
  • React Router for navigation
  • CSS for styling
  • Jest for testing

Backend

  • Express.js
  • RESTful API architecture
  • Jest for testing
  • JSON for data storage

Project Structure

.
├── frontend/ # React frontend application
└── backend/ # Express.js backend API

Prerequisites

  • Node.js (v14 or higher)
  • npm (v6 or higher)

Installation

  1. Clone this repository
  2. Install all dependencies for frontend, backend, and root project:
    npm run install:all

Development

To run both frontend and backend in development mode:

npm run start:dev

This will concurrently start:

Running Individual Services

Frontend only:

npm run start:dev:frontend

Backend only:

npm run start:dev:backend

API Endpoints

The backend provides the following RESTful endpoints:

Dishes

  • GET /dishes - List all dishes
  • POST /dishes - Create a new dish
  • GET /dishes/:dishId - Get a specific dish
  • PUT /dishes/:dishId - Update a dish

Orders

  • GET /orders - List all orders
  • POST /orders - Create a new order
  • GET /orders/:orderId - Get a specific order
  • PUT /orders/:orderId - Update an order status

Testing

Run all tests:

npm test

Test frontend only:

npm run test:frontend

Test backend only:

npm run test:backend

Production Build

To create a production build of the frontend application:

npm run build

Environment Variables

Frontend

Backend

  • PORT: Port number for the server (defaults to 5000)

Available Scripts

  • npm run start:dev - Start both frontend and backend in development mode
  • npm run start:dev:frontend - Start frontend only
  • npm run start:dev:backend - Start backend only
  • npm run install:all - Install dependencies for all applications
  • npm run instal 5F35 l:frontend - Install frontend dependencies
  • npm run install:backend - Install backend dependencies
  • npm test - Run all tests
  • npm run test:frontend - Run frontend tests
  • npm run test:backend - Run backend tests
  • npm run build - Create production build of frontend

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. Open a Pull Request

License

ISC

About

A food delivery platform that allows users to browse restaurants, view menus, and place orders

Resources

Stars

Watchers

Forks

Contributors 2

  •  
  •  
0