A modern, full-stack restaurant management system that combines a React-based frontend with a Node.js backend to provide a seamless dining experience. The system includes features like QR code-based menu access, real-time order tracking, and an intuitive admin dashboard.
- QR Code Menu System: Customers can scan QR codes to access digital menus
- Real-time Order Tracking: Live updates on order status and preparation
- Admin Dashboard: Comprehensive management interface for restaurant staff
- Responsive Design: Works seamlessly across desktop and mobile devices
- Secure Authentication: JWT-based authentication system
- Real-time Updates: Socket.IO integration for live updates
- React 18
- TypeScript
- Material-UI (MUI)
- Tailwind CSS
- Socket.IO Client
- React Router DOM
- Framer Motion
- QR Code Scanner/Generator
- Node.js
- Express.js
- MongoDB with Mongoose
- Socket.IO
- JWT Authentication
- Multer for file uploads
- Bcrypt for password hashing
- Node.js (v14 or higher)
- MongoDB
- npm or yarn package manager
- Clone the repository:
git clone [repository-url]
cd smart-restaurant- Install frontend dependencies:
cd smart-restaurant
npm install- Install backend dependencies:
cd ../smart-restaurant-backend
npm install- Create a
.envfile in the backend directory with the following variables:
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
PORT=3000
- Start the backend server:
cd smart-restaurant-backend
npm run dev- Start the frontend development server:
cd smart-restaurant
npm startThe frontend will be available at http://localhost:3004 and the backend at http://localhost:3000.
You can also use the provided scripts to start both servers simultaneously:
- Windows: Run
start-servers.bat - PowerShell: Run
start-servers.ps1
smart-restaurant/
├── src/ # Frontend source code
│ ├── components/ # React components
│ ├── pages/ # Page components
│ ├── services/ # API services
│ └── utils/ # Utility functions
│
smart-restaurant-backend/
├── src/ # Backend source code
│ ├── controllers/ # Route controllers
│ ├── models/ # Database models
│ ├── routes/ # API routes
│ └── utils/ # Utility functions
The backend API provides the following main endpoints:
/api/auth- Authentication endpoints/api/menu- Menu management/api/orders- Order processing/api/admin- Admin dashboard endpoints
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the ISC License.
For support, please open an issue in the repository or contact the development team.