Skip to content

I developed a full-stack Restaurant Management website using the MERN stack (MongoDB, Express.js, React.js, and Node.js). The platform allows users to browse all food items, view detailed information on single items, and provides admins with functionalities to add, delete, and modify menu items. This project significantly enhanced the restaurant's

Notifications You must be signed in to change notification settings

nrbnayon/Restaurant-Management-System-Client

Repository files navigation

eMenu Restaurant

I developed a full-stack Restaurant Management website using the MERN stack (MongoDB, Express.js, React.js, and Node.js). The platform allows users to browse all food items, view detailed information on single items, and provides admins with functionalities to add, delete, and modify menu items. This project significantly enhanced the restaurant's online presence, improved customer interaction, and streamlined internal management processes.

Live Site

Click Here

Features

  • Full-Stack MERN Development: Utilizing MongoDB, Express.js, React.js, and Node.js to create a seamless and engaging website.
  • User-Friendly Interface: Intuitive design aimed at enhancing user interaction and satisfaction.
  • CRUD Operations: Create, Read, Update, and Delete operations for managing food items and user interactions.
  • Responsive Design: Ensuring a consistent and enjoyable experience across all devices - mobile, tablet, and desktop.
  • Secure Authentication: Implementing JWT tokens for secure user authentication and authorization of private routes.
  • Visually Appealing: Attention to design details, color contrast, and overall aesthetics to create a visually stunning website.
  • Gallery Experience: Showcase user-generated content in a captivating gallery section with interactive overlays.

Installation Steps

Prerequisites - Your need to download and install Git and Node on your desktop or laptop to run this project

  • Git
  • Node
  • Download, install and read documents carefully

Make sure you have the latest versions of both Git and Node on your computer.

node --version
git --version

Getting Started

  1. Clone the repository:
git clone https://github.com/Porgramming-Hero-web-course/b9a11-client-side-nrbnayon.git
  1. Install dependencies:
cd b9a11-client-side-nrbnayon
npm install

3. Set up environment variables:

Create a .env file in the root directory and add the following variables:

Usage of EmailJS

Visit emailjs.com to create a new account for mail sending. In the free trial, you will get 200 emails per month. After setting up your emailjs account, add the following variables.

VITE_PUBLIC_EMAILJS_SERVICE_ID=your_emailjs_service_id
VITE_PUBLIC_EMAILJS_TEMPLATE_ID=your_emailjs_template_id
VITE_PUBLIC_EMAILJS_PUBLIC_KEY=your_emailjs_public_id

Setup Firebase

VITE_FIREBASE_API_KEY=your_firebase_api_key
VITE_FIREBASE_AUTH_DOMAIN=your_firebase_auth_domain
VITE_FIREBASE_PROJECT_ID=your_firebase_project_id
VITE_FIREBASE_STORAGE_BUCKET=your_firebase_storage_bucket
VITE_FIREBASE_MESSAGING_SENDER_ID=your_firebase_messaging_sender_id
VITE_FIREBASE_APP_ID=your_firebase_app_id

  1. Start the server:
npm run dev
  1. Open the website in your browser at http://localhost:5173.

Navbar

  • Home: Start your culinary journey here.
  • All Foods: Explore our delightful menu offerings.
  • Gallery: Experience the visual delights shared by our community.
  • Login/Logout: Access your account for personalized experiences.
  • My Profile: Manage your profile and interactions.
  • Contact Us: Easily reach out to us for any inquiries, feedback, or assistance directly from the website interface.

Homepage

  • Banner Section: Captivating visuals beckon you to explore.
  • Top Foods Section: Discover our top-selling culinary delights.
  • See All Button: Direct access to our complete menu offerings.
  • Extra Sections: Engaging content to spark your curiosity.

All Foods Page

  • Page Title: Dive into our delectable menu offerings.
  • Food Cards: Browse through our extensive collection of culinary delights.
  • Search Functionality: Easily find your favorite dishes with our search feature.

Single Food Page

  • Detailed Information: Dive deep into the specifics of each culinary masterpiece.
  • Purchase Button: Indulge in your desired dish with a single click.

Food Purchase Page

  • Order Form: Complete your culinary journey with a seamless purchase experience.
  • Toast/Alert: Receive instant confirmation and feedback on your purchase.

Gallery Page

  • Gallery Section: Immerse yourself in the visual feast shared by our community.
  • Add Button: Contribute to our gallery with your own culinary experiences.

Login and Registration

  • Registration Page: Join our community and unlock personalized experiences.
  • Login Page: Access your account for seamless interactions.
  • Error Messages: Receive prompt feedback on any registration or login issues.

My Profile

  • My Added Food Items: Manage your contributed culinary creations.
  • Add a Food Item: Expand our menu offerings with your own dishes.
  • My Ordered Food Items: Track and manage your culinary indulgences.

404 Page

  • Error Page: Encounter a delightful surprise in the event of a page not found.

Challenge Requirements

  • Single Food Quantity: Ensure a seamless purchase experience with real-time quantity updates and availability checks.
  • Authorization with JWT: Protect sensitive routes and ensure secure user interactions.

Optional Features

  • Loading Spinner: Enhance user experience with engaging loading animations.

Packages Used

Package Name
@emailjs/browser
@emotion/react
@emotion/styled
@heroicons/react
@material-tailwind/react
@mui/material
@mui/x-date-pickers
animate.css
aos
axios
dayjs
firebase
localforage
lodash
lodash.debounce
lottie-react
match-sorter
prop-types
react
react-awesome-button
react-awesome-reveal
react-dom
react-icons
react-leaflet
react-loader-spinner
react-router-dom
react-simple-typewriter
react-toastify
sweetalert2
swiper

Contributing

Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.

License

This project is licensed under the MIT License - see the LICENSE file for details.


This README file includes all the necessary information and is formatted for readability.

About

I developed a full-stack Restaurant Management website using the MERN stack (MongoDB, Express.js, React.js, and Node.js). The platform allows users to browse all food items, view detailed information on single items, and provides admins with functionalities to add, delete, and modify menu items. This project significantly enhanced the restaurant's

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages