A comprehensive restaurant food ordering and delivery application built with Laravel 9 and Vue.js 3, featuring a modern admin panel and customer-facing interface.
- Browse Menu: Explore categories and items with images
- User Authentication: Register and login functionality
- Shopping Cart: Add, update, and remove items
- Order Tracking: Real-time order status updates
- Payment Integration: Multiple payment gateways
- Location Services: Address management and delivery
- Reviews & Ratings: Rate orders and items
- Promotions: Coupons and discount codes
- Dashboard: Comprehensive analytics and insights
- Menu Management: Categories, items, variations, and addons
- Order Management: Process and track orders
- User Management: Customer and staff management
- Reports: Sales, orders, and performance analytics
- Settings: Configure app settings and preferences
- Notifications: Push notifications and email alerts
- Responsive Design: Mobile-first approach
- Real-time Updates: WebSocket integration
- Multi-language Support: Internationalization ready
- API-Driven: RESTful API architecture
- Role-Based Access: Different user permissions
- File Upload: Image management with Laravel Media Library
- Backend: Laravel 9.x Framework
- Frontend: Vue.js 3.x with Composition API
- Database: MySQL 5.7+
- Styling: Tailwind CSS + Custom CSS
- Build Tool: Laravel Mix (Webpack)
- Authentication: Laravel Sanctum
- File Storage: Laravel Storage with symbolic links
- Real-time: Laravel Broadcasting (optional)
- Payment: Multiple gateway integrations
Before you begin, ensure you have the following installed:
- PHP: 8.0 or higher
- Composer: 2.x
- Node.js: 16.x or higher (with npm)
- MySQL: 5.7 or higher
- Git: Latest version
git clone https://github.com/stackmasteraliza/food_king.git
cd food_kingcomposer installnpm installcp .env.example .envUpdate the .env file with your configuration:
APP_NAME="Food King"
APP_ENV=local
APP_KEY=base64:your_app_key_here
APP_DEBUG=true
APP_URL=http://localhost:8000
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=food_king
DB_USERNAME=your_db_username
DB_PASSWORD=your_db_password
# Generate application key
php artisan key:generate# Create database
mysql -u root -p
CREATE DATABASE food_king;
EXIT;
# Run migrations
php artisan migrate
# Seed the database (optional - includes demo data)
php artisan db:seed# Create symbolic link for file storage
php artisan storage:link# For development
npm run dev
# For production
npm run prod# Start Laravel development server
php artisan serve
# The application will be available at: http://localhost:8000Configure payment gateways in your .env file:
# Stripe
STRIPE_KEY=your_stripe_publishable_key
STRIPE_SECRET=your_stripe_secret_key
# PayPal
PAYPAL_CLIENT_ID=your_paypal_client_id
PAYPAL_CLIENT_SECRET=your_paypal_client_secret
# And more...MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=your_email@gmail.com
MAIL_PASSWORD=your_app_password
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS="noreply@foodking.com"
MAIL_FROM_NAME="${APP_NAME}"FCM_SECRET_KEY=your_firebase_server_key
FCM_TOPIC=food_king_orders- URL:
http://localhost:8000/admin - Default Admin Credentials:
- Email: admin@foodking.com
- Password: password
- URL:
http://localhost:8000 - Register/Login to place orders
# Run PHP tests
php artisan test
# Run frontend tests (if configured)
npm test# Build optimized assets
npm run prod
# Cache configuration for better performance
php artisan config:cache
php artisan route:cache
php artisan view:cacheConfigure your web server (Apache/Nginx) to point to the public directory.
Ensure HTTPS is configured for production environments.
food_king/
βββ app/ # Laravel application code
β βββ Console/
β βββ Exceptions/
β βββ Http/
β βββ Models/
β βββ Providers/
βββ bootstrap/ # Laravel bootstrap
βββ config/ # Configuration files
βββ database/ # Migrations and seeders
β βββ migrations/
β βββ seeders/
βββ public/ # Public assets
βββ resources/ # Views and frontend assets
β βββ js/ # Vue.js components
β βββ sass/ # Stylesheets
β βββ views/ # Blade templates
βββ routes/ # Route definitions
βββ storage/ # File storage
βββ tests/ # Test files
βββ .env.example # Environment template
βββ artisan # Laravel CLI
βββ composer.json # PHP dependencies
βββ package.json # Node dependencies
βββ webpack.mix.js # Asset compilation
- 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 MIT License - see the LICENSE file for details.
- Laravel Framework
- Vue.js Team
- Tailwind CSS
- All contributors and supporters
For support, email support@foodking.com or join our Discord community.
Stay updated with the latest features and improvements by following our changelog.
Made with β€οΈ for food lovers worldwide πππ