Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/menathndgd/food-ordering-app

This is a modern food ordering application designed for restaurants, built using latest Next.js, React.js, MongoDB, and Tailwind CSS. This project combines the power of server-side rendering, seamless user experiences, and a responsive design to deliver a fast and intuitive platform for customers to browse menus, place orders, and track deliveries.
https://github.com/menathndgd/food-ordering-app

Last synced: about 1 month ago
JSON representation

This is a modern food ordering application designed for restaurants, built using latest Next.js, React.js, MongoDB, and Tailwind CSS. This project combines the power of server-side rendering, seamless user experiences, and a responsive design to deliver a fast and intuitive platform for customers to browse menus, place orders, and track deliveries.

Awesome Lists containing this project

README

        

# Food Ordering App

Welcome to the **Food Ordering App** repository! This is a modern food ordering application designed for restaurants, built using latest Next.js, React.js, MongoDB, and Tailwind CSS. This project combines the power of server-side rendering, seamless user experiences, and a responsive design to deliver a fast and intuitive platform for customers to browse menus, place orders, and track deliveries.

## Table of Contents

- [Features](#features)
- [Technologies Used](#technologies-used)
- [Installation](#installation)
- [Usage](#usage)
- [Contributing](#contributing)
- [More](#more)

## Features

- Browse a variety of food categories and menus.
- Add items to the cart and customize orders.
- Place and track orders in real-time.
- User authentication and profile management.
- Responsive design for mobile and desktop views.

## Technologies Used

- **Frontend**: React.js, HTML, CSS
- **Backend**: Node.js, Express.js
- **Database**: MongoDB
- **Authentication**: Firebase Auth
- **Hosting**: Firebase Hosting

## Installation

To get started with the Food Ordering App, follow these steps:

1. **Clone the repository:**
```bash
git clone https://github.com/MenathNDGD/Food-Ordering-App.git
cd Food-Ordering-App
```

2. **Navigate to the project directory:**
```bash
cd Food-Ordering-App
```

3. **Install the dependencies:**
```bash
npm install
```

4. **Create a `.env` file in the root directory and add your Firebase configuration:**
```env
MONGO_URL=your_mongodb_url
NEXTAUTH_URL="http://localhost:3000/"
SECRET=any_secret_key #dbhjfbdjhvbhjsdfbvhfdbvh
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret_id
AWS_ACCESS_KEY=your_aws_access_key
AWS_SECRET_KEY=your_aws_secret_key
```

5. **Start the development server:**
```bash
npm start
```

or
```bash
npm run dev
```

## Usage

- Open your browser and navigate to `http://localhost:3000` to view the app.
- Register or log in to access the food ordering features.
- Browse the menu, add items to your cart, and place orders.
- Manage your profile and view order history.

## Contributing

Contributions are welcome! If you have suggestions or improvements, please follow these steps:

1. **Fork the repository.**
2. **Create a new branch** (`git checkout -b feature-branch`).
3. **Make your changes.**
4. **Commit your changes** (`git commit -am 'Add new feature'`).
5. **Push to the branch** (`git push origin feature-branch`).
6. **Create a new Pull Request.**

## More

### Key Features

- **User Authentication:** Secure user registration and login with Firebase Authentication.
- **Menu Browsing:** View and filter food items by categories.
- **Cart Management:** Add items to the cart, adjust quantities, and remove items.
- **Order Placement:** Easily place orders and track their status.
- **Responsive Design:** Optimized for various screen sizes, including mobile and desktop.
- **Profile Management:** Update personal information and view order history.

### Future Enhancements

- **Enhanced User Interface:** Plans to implement more interactive UI elements and animations.
- **Advanced Order Tracking:** Integration with real-time tracking for delivery.
- **Recommendation System:** Adding personalized food recommendations based on user preferences.
- **Multilingual Support:** Expanding the app to support multiple languages for a broader audience.

### Technologies Used

- **Frontend:** Built with React.js for a dynamic and responsive user interface.
- **Backend:** Node.js and Express.js handle server-side logic and API requests.
- **Database:** MongoDB stores user data, order details, and menu information.
- **Authentication:** Firebase Auth ensures secure user login and registration.
- **Hosting:** Deployed on Firebase Hosting for reliable and scalable performance.

### Getting Involved

If you're interested in contributing to this project or have ideas for new features, feel free to check out the [Contributing](#contributing) section. Your feedback and contributions are highly valued!

---

Thank you for exploring the Food Ordering App. We hope you find it useful and look forward to any suggestions or improvements you may have!