A comprehensive, modern food delivery platform built with Next.js and React. Features a complete restaurant experience with 100+ menu items, advanced filtering, responsive design, authentication system, and multiple pages - delivering a premium user experience similar to top food delivery platforms.
- 100+ Menu Items across 10 diverse categories
- 10 Food Categories: Burgers, Sides, Drinks, Desserts, Pizzas, Biryani, Noodles, North Indian, South Indian, Rolls & Momos
- Rich Product Details with descriptions, pricing, and high-quality images
- Advanced Search & Filtering with price ranges and category filters
- Popular Items highlighting with special badges
- Size Selection (Small, Medium, Large, Extra Large)
- Add-ons & Extras (cheese, bacon, vegetables, sauces, spices)
- Special Instructions for dietary preferences and allergies
- Real-time Price Calculation as you customize
- Quantity Management with intuitive controls
- Smart Search Bar with real-time results
- Persistent Cart with localStorage integration
- Item Management (add, remove, modify quantities)
- Order Summary with itemized pricing
- Tax Calculation and total computation
- Responsive Cart Sidebar with smooth animations
- Empty State Handling with helpful suggestions
- Login/Signup Modal with modern UI
- Social Authentication (Google, Facebook)
- Password Visibility Toggle
- Form Validation with error handling
- Responsive Design for all screen sizes
- Home/Menu Page - Main ordering interface
- About Us Page - Company story, team, and values
- FAQ Page - Comprehensive help section with categories
- Contact Page - Multiple contact methods and form
- Changelog Page - Feature updates and version history
- Enhanced 404 Page - Helpful error page with suggestions
- Native CSS Architecture - No external CSS frameworks
- Global CSS Variables - Consistent theming system
- Responsive Design - Mobile-first approach
- Professional Color Palette - Orange/red food-focused theme
- Typography System - Montserrat + Open Sans combination
- Smooth Animations and micro-interactions
- Accessibility Compliant (WCAG AA standards)
- Dark Mode Support - Complete theme switching
- Reusable Components - Modular and maintainable
- Layout Components - Header, Footer, Navigation
- Independent CSS Files - No component dependencies
- TypeScript Integration - Full type safety
- Performance Optimized - Lazy loading and code splitting
- Framework: Next.js 15 - React framework with App Router
- Frontend: React 18 - Modern React with hooks
- Styling: Native CSS - Custom CSS architecture with variables
- State Management: Zustand - Lightweight state management
- UI Components: Radix UI - Accessible component primitives
- Icons: Lucide React - Beautiful icon library
- Fonts: Google Fonts - Montserrat & Open Sans
- TypeScript: Full type safety throughout the application
- Build Tool: Turbopack - Fast bundler for development
- Node.js 18+
- npm or yarn package manager
-
Clone the repository
git clone <repository-url> cd quickbite-platform
-
Install dependencies
npm install # or yarn install # or pnpm install
-
Start development server
npm run dev # or yarn dev # or pnpm dev
-
Open your browser
Navigate to `http://localhost:3000`
npm run build
npm run start
npm run lint
npm run lint:fix
quickbite-platform/
βββ π app/ # Next.js App Router
β βββ π about/ # About page
β βββ π api/ # API routes
β β βββ π menu/ # Menu data endpoints
β β βββ π orders/ # Order processing
β βββ π changelog/ # Changelog page
β βββ π contact/ # Contact page
β βββ π faq/ # FAQ page
β βββ π layout.tsx # Root layout
β βββ π not-found.tsx # 404 page
β βββ π page.tsx # Home/Menu page
βββ π components/ # React components
β βββ π auth/ # Authentication components
β β βββ π auth-modal.tsx # Login/Signup modal
β βββ π layout/ # Layout components
β β βββ π header.tsx # Site header
β β βββ π footer.tsx # Site footer
β βββ π ui/ # UI components
β βββ π checkout-modal.tsx # Checkout flow
β βββ π item-customization-modal.tsx
β βββ π shopping-cart-sidebar.tsx
β βββ π theme-provider.tsx
βββ π hooks/ # Custom React hooks
β βββ π use-mobile.ts
β βββ π use-toast.ts
βββ π lib/ # Utility libraries
β βββ π cart-store.ts # Shopping cart state
β βββ π menu-data.ts # Menu data & types
β βββ π utils.ts # Utility functions
βββ π public/ # Static assets
β βββ π burger/ # Food images
β βββ π desserts/
β βββ π drinks/
β βββ π logo/ # Brand assets
β βββ π pizzas/
β βββ π sides/
βββ π styles/ # CSS files
β βββ π globals.css # Global styles & variables
β βββ π components.css # Component styles
β βββ π layout.css # Layout styles
β βββ π pages.css # Page-specific styles
β βββ π auth.css # Authentication styles
β βββ π additional-pages.css # Additional page styles
βββ π components.json # shadcn/ui config
βββ π next.config.mjs # Next.js configuration
βββ π package.json # Dependencies
βββ π tsconfig.json # TypeScript config
βββ π README.md # Documentation
GET /api/menu
- Get all menu items and categoriesGET /api/menu/[category]
- Get items by category
POST /api/orders
- Submit new orderGET /api/orders/[id]
- Get order status
npm run dev
- Start development servernpm run build
- Build for productionnpm run start
- Start production servernpm run lint
- Run ESLintnpm run lint:fix
- Fix ESLint errors
Edit lib/menu-data.ts
and add items to the appropriate category:
{
id: "new-item",
name: "New Delicious Item",
description: "Amazing description",
price: 12.99,
image: "/path/to/image.png",
category: "burgers",
popular: true,
customizations: {
sizes: [
{ name: "Regular", price: 0 },
{ name: "Large", price: 2.5 }
],
addons: [
{ name: "Extra Cheese", price: 1.5 }
]
}
}
- Global styles:
styles/globals.css
- CSS variables and base styles - Component styles:
styles/components.css
- Reusable component styles - Layout styles:
styles/layout.css
- Header, footer, navigation - Page styles:
styles/pages.css
- Page-specific styles - Theme colors: Modify CSS variables in
globals.css
- Create new page in
app/[page-name]/page.tsx
- Add corresponding styles in appropriate CSS file
- Update navigation in
components/layout/header.tsx
- Add to footer links in
components/layout/footer.tsx
Modify the CSS variables in styles/globals.css
:
:root {
--brand-primary: #ff6b35; /* Main brand color */
--brand-secondary: #f7931e; /* Secondary brand color */
--brand-accent: #ffd23f; /* Accent color */
/* ... other variables */
}
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- β Native CSS Architecture - No external CSS frameworks
- β Global CSS Variables - Consistent theming system
- β Responsive Design - Mobile-first approach
- β Search Functionality - Real-time search with filters
- β Price Filtering - Filter by price ranges
- β Authentication Modal - Login/Signup with social options
- β Multi-page Architecture - About, FAQ, Contact, Changelog
- β Enhanced 404 Page - Helpful error page with suggestions
- β Footer Component - Complete footer with links and info
- β Header Component - Navigation with search and cart
- β Reusable Components - Modular and maintainable
- β TypeScript Integration - Full type safety
- β Performance Optimized - Fast loading and smooth interactions
- Color Palette: Food-focused orange/red theme
- Typography: Montserrat (headings) + Open Sans (body)
- Spacing: Consistent spacing scale with CSS variables
- Border Radius: Rounded corners for modern look
- Shadows: Layered shadow system for depth
- Animations: Smooth transitions and micro-interactions
- Mobile: < 768px
- Tablet: 768px - 1024px
- Desktop: > 1024px
- Large Desktop: > 1280px
- Code Splitting - Automatic route-based splitting
- Image Optimization - Next.js Image component
- Font Optimization - Google Fonts with display swap
- CSS Optimization - Minimal CSS with variables
- Bundle Analysis - Optimized bundle sizes
- Form Validation - Client and server-side validation
- XSS Protection - Sanitized inputs and outputs
- CSRF Protection - Built-in Next.js protection
- Secure Headers - Security headers configuration
- Chrome: Latest 2 versions
- Firefox: Latest 2 versions
- Safari: Latest 2 versions
- Edge: Latest 2 versions
- Mobile Browsers: iOS Safari, Chrome Mobile
π€ Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
- Follow TypeScript best practices
- Use semantic HTML elements
- Maintain accessibility standards
- Write descriptive commit messages
- Test on multiple devices and browsers
π License
This project is licensed under the MIT License - see the LICENSE file for details.