A modern restaurant ordering application built with React and Vite. Browse the menu, add items to your cart, and place orders with a smooth, responsive user interface.
Visit the live application: Resto Cafe
- Dynamic Menu Display: Fetches restaurant data and menu items from API
- Shopping Cart: Add/remove items with persistent storage using localStorage
- Theme Support: Light and dark mode toggle for better user experience
- Order Management: Complete checkout process with order summary
- Payment Integration: Payment form for order completion
- Responsive Design: Works seamlessly across desktop and mobile devices
- Real-time Notifications: User feedback for cart actions and order updates
- React 19 - Frontend framework
- Vite - Build tool and development server
- React Context API - State management for cart and theme
- React Icons - Icon library
- CSS3 - Styling and responsive design
- GitHub Pages - Deployment platform
- Clone the repository:
git clone https://github.com/Akhil07-ctrl/Resto-Cafe.git
cd Resto-Cafe/client- Install dependencies:
npm install- Start the development server:
npm run dev- Open your browser and visit
http://localhost:5173
npm run dev- Start development servernpm run build- Build for productionnpm run preview- Preview production buildnpm run lint- Run ESLintnpm run deploy- Deploy to GitHub Pages
client/
├── src/
│ ├── components/
│ │ ├── Cart/ # Shopping cart component
│ │ ├── Checkout/ # Checkout process
│ │ ├── Home/ # Main page component
│ │ ├── NavBar/ # Navigation component
│ │ ├── Notification/ # Toast notifications
│ │ ├── OrderSummary/ # Order details display
│ │ ├── PaymentForm/ # Payment processing
│ │ └── TabItems/ # Menu items display
│ ├── context/
│ │ ├── CartContext.jsx # Cart state management
│ │ └── ThemeContext.jsx # Theme state management
│ ├── App.jsx
│ └── main.jsx
├── public/
└── package.json
- Persistent cart using localStorage
- Add/remove items with quantity control
- Real-time cart total calculation
- Toggle between light and dark modes
- Consistent theming across all components
- User preference persistence
- Fetches restaurant data from external API
- Error handling and loading states
- Retry functionality for failed requests
- 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 open source and available under the MIT License.