A full-stack food ordering platform built with Laravel and React. QuickFood helps users discover restaurants, browse menus, place orders, and manage their profiles.
- Restaurant discovery: Browse restaurants, categories, and menus.
- Product catalog: View menu items with details and pricing.
- Authentication: Register, log in, manage profiles, and log out.
- Order management: Place orders, view order history, and track status.
- Restaurant tools: Create restaurants, categories, and products.
- Framework: Laravel 12
- Language: PHP 8.2+
- Authentication: Laravel Sanctum
- Database: Laravel-supported database configured through
.env
- Framework: React 19
- Build tool: Vite 7
- State management: Redux Toolkit
- HTTP client: Axios
- Routing: React Router
QuickFood/
├── Backend/ # Laravel REST API
│ ├── app/
│ │ ├── Http/Controllers/ # API endpoint logic
│ │ └── Models/ # Eloquent models
│ ├── database/
│ │ ├── migrations/ # Database schema
│ │ └── seeders/ # Initial data
│ └── routes/api.php # API routes
│
└── Frontend/ # React single-page application
├── src/
│ ├── api/ # API services
│ ├── components/ # Reusable UI components
│ ├── pages/ # Application pages
│ ├── redux/ # Global state
│ └── routes/ # Frontend routes
└── package.json
User: Authentication and profile data.Restaurant: Restaurant information and ownership.Category: Groups products within a restaurant.Product: Menu items and pricing.OrderandOrderItem: Customer orders and their items.
- PHP 8.2 or newer
- Composer
- Node.js and npm
cd Backend
composer install
cp .env.example .env
php artisan key:generate
php artisan migrate
php artisan serveThe API runs at http://localhost:8000.
Open a second terminal:
cd Frontend
npm install
npm run devVite will display the frontend URL in the terminal.