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
- Host: GitHub
- URL: https://github.com/nirobsarker012/restaurant-client
- Owner: nirobsarker012
- Created: 2025-06-15T09:13:18.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-09-10T14:07:40.000Z (10 months ago)
- Last Synced: 2025-09-10T18:24:04.087Z (10 months ago)
- Topics: expressjs, firebase, javascript, mongodb, reactjs, tailwindcss
- Language: JavaScript
- Homepage: https://ns-restaurant-management.netlify.app/
- Size: 23.4 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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`):