Skip to content

Latest commit

 

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🍽️ 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):

Releases

Packages

Contributors

Languages