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

https://github.com/nirobsarker012/restaurant-client


https://github.com/nirobsarker012/restaurant-client

expressjs firebase javascript mongodb reactjs tailwindcss

Last synced: 9 months ago
JSON representation

Awesome Lists containing this project

README

          

# ๐Ÿฝ๏ธ Restaurant Management Website

A full-featured, modern, and responsive Restaurant Management system built with the MERN stack. This web application provides a seamless platform for customers to browse, search, and purchase foods, while allowing restaurant admins to manage inventory and orders efficiently..

## ๐ŸŒ Live Site

๐Ÿ”— **Live Website:** [https://ns-restaurant-management.netlify.app/]

## ๐Ÿงฉ Project Purpose

The goal of this project is to demonstrate the implementation of a real-world full-stack application using MongoDB, Express.js, React.js, and Node.js. It enables both customer-side food ordering functionalities and admin-side food management tools. The platform ensures secure authentication, responsive layout, and enhanced user experience.

---

## ๐Ÿš€ Features

- โœ… Firebase authentication (Email/Password & Google Login)
- โœ… JWT-based secure access for private routes
- โœ… Display and search all foods with quantity filtering
- โœ… Add, update, and manage foods (by the uploader only)
- โœ… Purchase flow with real-time stock control
- โœ… "Top Foods" section based on purchase count
- โœ… View orders and delete items
- โœ… Image gallery with lightbox functionality
- โœ… Theme toggle (light/dark)
- โœ… Loading spinners and toast alerts
- โœ… Mobile, tablet, and desktop responsive
- โœ… Framer Motion animations
- โœ… Moment.js for date formatting
- โœ… Server-side filtering using MongoDB queries

---

## ๐Ÿ“ Pages and Components

- **Home Page:** Banner, top foods, testimonials, and features section.
- **All Foods Page:** List of all food items with search and filter functionality.
- **Single Food Page:** Shows complete details and allows purchases.
- **Purchase Page (Private):** Purchase form with validation and restrictions.
- **Add Food (Private):** Form to add new food items by authenticated users.
- **My Foods (Private):** View and update foods added by the user.
- **My Orders (Private):** View all orders made by the logged-in user.
- **Gallery Page:** Responsive gallery with zoomable images.
- **Authentication Pages:** Login and Register with form validation.
- **Navbar & Footer:** Persistent across all pages with dynamic links based on auth state.

---

## ๐Ÿงช Technologies Used

### Frontend:
- React.js
- Tailwind CSS + DaisyUI
- React Router DOM
- Firebase Authentication
- React Hook Form
- SweetAlert2 / React Toastify
- Framer Motion
- Moment.js
- yet-another-react-lightbox
- TanStack Query (optional)

### Backend:
- Node.js
- Express.js
- MongoDB + Mongoose
- JWT (jsonwebtoken)
- dotenv, cors

---

## ๐Ÿ” Environment Variables

### On Client (`.env`):