https://github.com/aburaihan98/dineease-client
This project is a Restaurant Management Website built with the MERN Stack (MongoDB, Express.js, React.js, Node.js). It includes user authentication (email/password and social logins), JWT-secured routes, and a responsive design, enhancing restaurant operations and customer experience.
https://github.com/aburaihan98/dineease-client
expressjs firebase framer-motion jwt momentjs mongodb nodejs react-lightbox reactjs tailwindcss tanstack-query
Last synced: 3 months ago
JSON representation
This project is a Restaurant Management Website built with the MERN Stack (MongoDB, Express.js, React.js, Node.js). It includes user authentication (email/password and social logins), JWT-secured routes, and a responsive design, enhancing restaurant operations and customer experience.
- Host: GitHub
- URL: https://github.com/aburaihan98/dineease-client
- Owner: aburaihan98
- Created: 2025-01-27T11:21:05.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-11T07:03:35.000Z (over 1 year ago)
- Last Synced: 2025-03-11T07:34:25.224Z (over 1 year ago)
- Topics: expressjs, firebase, framer-motion, jwt, momentjs, mongodb, nodejs, react-lightbox, reactjs, tailwindcss, tanstack-query
- Language: JavaScript
- Homepage: https://dine-ease-aacad.web.app/
- Size: 173 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Dine-Ease - Restaurant Management Website π½οΈ
Dine-Ease is a full-stack restaurant management platform designed to improve the efficiency of food ordering and inventory management. Built using the MERN stack, the website provides functionalities like food management, user authentication, and a seamless user experience for both customers and staff.

## live project links:
https://dine-ease-aacad.web.app/
## Key Features
- **User Authentication**: Email/password-based login and registration. Google login integration. Password verification (uppercase, lowercase, and minimum length).
- **Food Management**: Add, update, and delete food items. View food details on the "All Foods" page. Filter food items using MongoDBβs `$and` operators.
- **Food Purchase**: Users can purchase food with quantity restrictions. Display purchase count for each food item.
- **Gallery Section**: 48 static images with image lightbox functionality using `react-lightbox`.
- **User Profile**: Display logged-in userβs profile image and name. Manage user-specific food items and orders.
- **Responsive Design**: Fully responsive design for mobile, tablet, and desktop.
- **Search and Filter**: Search food items by name. Filter food items based on price and origin.
- **Pagination**: Pagination for food items with 9 items per page.
- **JWT Authentication**: JWT tokens for secure private routes.
- **Toast & Sweetalert2 Notifications**: Display notifications for login, registration, and food purchase actions.
- **Food Quantity Management**: Restrict purchases based on available food quantity. Notify users when a food item is out of stock.
- **Gallery Infinite Scrolling**: Infinite scrolling for gallery images.
## Technologies Used
### Frontend:
- **React.js** β Component-based UI development
- **React Router** β Client-side navigation
- **Firebase Authentication** β User authentication (Email/Google login)
- **React Toastify** β Notifications
- **Sweetalert2** β Interactive alerts
- **Framer Motion** β Animations
- **Lottie-web** β Lottie animations
- **Moment.js** β Date formatting
- **Axios** β API requests
- **React Query (TanStack)** β State & data fetching management
- **React Rating Stars Component** β User rating system
- **React Infinite Scroll Component** β Infinite scrolling feature
- **React Lightbox** β Image preview functionality
- **FontAwesome** β Icon library
### Backend:
- **Node.js** β Server-side runtime
- **Express.js** β Backend framework
- **MongoDB** β NoSQL database
- **Firebase Authentication** β User authentication management
- **Axios** β API handling
## Dependencies
- **Frontend:**
- `react`
- `react-router-dom`
- `firebase`
- `axios`
- `react-toastify`
- `sweetalert2`
- `framer-motion`
- `moment`
- `react-infinite-scroll-component`
- `react-lightbox`
- `react-rating-stars-component`
- **Backend:**
- `express`
- `mongoose`
- `jsonwebtoken`
- `dotenv`
## Running the Project Locally
### Prerequisites
- Node.js
- MongoDB instance
- Firebase credentials (for authentication)
## Steps to Run Locally
### 1. Clone this repository -
git clone https://github.com/aburaihan98/DineEase-client.git
### 2. Go to the cloned project directory
cd DineEase-client
### 3. Just run this command to install node dependencies
npm install
### 4. Just run this command
npm run dev