An open API service indexing awesome lists of open source software.

https://github.com/quytechabhinav/food-delivery-app


https://github.com/quytechabhinav/food-delivery-app

Last synced: 4 months ago
JSON representation

Awesome Lists containing this project

README

        

```markdown
# Food Delivery App

This is a food delivery application built with React for the front end, Node.js for the back end, and MySQL for the database.

## Table of Contents

- [Features](#features)
- [Prerequisites](#prerequisites)
- [Getting Started](#getting-started)
- [Installation](#installation)
- [Configuration](#configuration)
- [Usage](#usage)
- [Database](#database)
- [Contributing](#contributing)
- [License](#license)

## Features

- User registration and authentication
- Browse restaurants and menus
- Place orders and make payments
- Track order status
- Admin panel for managing restaurants and orders
- Review and rating system
- ...

## Prerequisites

Before you begin, ensure you have met the following requirements:

- Node.js and npm installed (You can download them from [nodejs.org](https://nodejs.org/))
- MySQL database server (You can download it from [mysql.com](https://www.mysql.com/))

## Getting Started

To get started with this project, follow these steps:

### Installation

1. Clone the repository:

```bash
git clone https://github.com/yourusername/food-delivery-app.git
cd food-delivery-app
```

2. Install the dependencies for both the frontend and backend:

```bash
# Install frontend dependencies
cd client
npm install

# Install backend dependencies
cd ../server
npm install
```

### Configuration

1. Configure the database:

- Create a MySQL database and import the provided SQL schema located in the `server/database` directory.

- Update the database configuration in `server/config/db.config.js` with your database credentials:

```javascript
module.exports = {
HOST: "your-database-host",
USER: "your-database-username",
PASSWORD: "your-database-password",
DB: "your-database-name",
};
```

2. Configure environment variables:

Create a `.env` file in the `server` directory and define the following variables:

```env
PORT=3001 # Port for the Node.js server
JWT_SECRET=your-secret-key
```

### Usage

1. Start the backend server:

```bash
cd server
npm start
```

The server will start on the port you defined in the `.env` file.

2. Start the frontend development server:

```bash
cd client
npm start
```

The React app will run on port 3000 by default.

3. Access the application in your web browser:

```
http://localhost:3000
```

## Database

The MySQL database schema is provided in the `server/database` directory. It includes tables for users, restaurants, menus, orders, reviews, and more. You can customize and extend the schema to suit your application's needs.

## Contributing

Contributions are welcome! Please read the [CONTRIBUTING.md](CONTRIBUTING.md) file for details on how to contribute to this project.

## License

This project is licensed under the [MIT License](LICENSE).
```

Please note that this is a basic template, and you should customize it to include specific details about your project, such as project structure, APIs, and any other relevant information.