QuickMunch Laravel documentation
Welcome! QuickMunch is a complete multi-restaurant food ordering, delivery and management platform. This guide takes you from the ZIP you downloaded to a running, configured site — and then documents every screen the product has.
What you get
The product
- Online ordering — delivery, pickup and dine-in from one storefront
- Three business models — marketplace, your own restaurants, or franchise
- Restaurant dashboard — menu builder, orders, customers, staff and billing
- Point of sale — a full till, with cash drawer and shift reports
- Kitchen display — the live order board, by station
- Self-order kiosks and TV menu screens
- QR table ordering — visual floor plan and printable QR cards
- Reservations — booking calendar and reminders
- Loyalty, rewards, coupons and deals
- Driver app — accept and complete deliveries
- Roles & permissions — build staff roles from a privilege grid
- Analytics — for the platform and for every restaurant
- CMS & blog — pages, posts, homepage layouts, design templates
- Messaging — email, SMS, push broadcasts and drip campaigns
- Subscription plans, royalty invoicing and sponsored-ad revenue
What it works with
- Stripe, PayPal and cash — saved cards, split payouts to restaurants
- Maps — OpenStreetMap, Mapbox or Google; one switch
- Languages — English, Spanish and Arabic, with RTL
- AI assistant — your own provider key
- Two-factor authentication, screen lock and an audit log
- Installable app (PWA) and offline-capable POS terminals
- Web installer — no command line needed to go live
Every one of these is optional and off until you supply your own key. Nothing calls out to a provider you have not configured.
Built with
| Layer | Stack |
|---|---|
| Backend | Laravel 12 · PHP 8.2+ · MySQL 5.7+ (8.x supported) / MariaDB 10.4+ |
| Frontend | Blade templates · Bootstrap 5 · plain JavaScript — no build step, edit and refresh |
| Deployment | Shared hosting (cPanel) or VPS · Apache or Nginx · one cron entry |
If you are setting up for the first time
Then, tell the guide how you sell
QuickMunch runs three different businesses from the same code, and they do not share screens. Use the business model tabs at the top of this page to pick yours. Pages that cannot exist in that model disappear from the contents, so you are never reading about a screen your installation does not have.
| Model | How money moves | What you will not see |
|---|---|---|
| Marketplace | Independent restaurants. You take the online payment and pay each restaurant, keeping a commission. | Royalty invoices |
| My own restaurants | One owner, many venues. Every payment is your own revenue, consolidated. | Plans, subscriptions, sponsored ads, payouts, royalty invoices |
| Franchise | Each restaurant takes its own payments with its own gateway. You charge a royalty on their sales. | Payouts |
You picked this in the installer. To check or change it, see Choosing a business model.
The folder structure at a glance
The download holds the application and this guide, side by side:
Quickmunch Main Files/
├── quickmunch/ the application — upload this to your host
│ ├── app/
│ │ ├── Http/
│ │ │ ├── Controllers/ one folder per area: Public, Vendor, Admin, Driver, Customer, Auth, Account
│ │ │ ├── Middleware/ the sign-in gates for each dashboard
│ │ │ └── Requests/ form validation rules
│ │ ├── Models/ Eloquent models — one class per database table (orders, restaurants…)
│ │ ├── Services/ the business logic: payments, orders, loyalty, analytics…
│ │ ├── Support/ shared helpers: uploads, CSV exports, sessions, formatting
│ │ └── Providers/
│ ├── bootstrap/ framework startup (bootstrap/cache must be writable)
│ ├── config/ framework + application configuration
│ ├── database/
│ │ ├── schema.sql the tables — the installer imports this
│ │ ├── seed.sql the demo content the installer imports
│ │ ├── fixtures/ bundled runtime data
│ │ └── migrations/ upgrade steps for future releases
│ ├── lang/ interface translations: en.php, es.php, ar.php
│ ├── public/ the web root — point your domain here
│ │ ├── installer/ the setup wizard (locks itself after install)
│ │ ├── css/ js/ img/ fonts/
│ │ ├── thirdparty/ bundled libraries (maps, charts, sliders…)
│ │ ├── uploads/ everything uploaded after install — back this up
│ │ └── index.php the front controller
│ ├── resources/views/ every page template, one folder per area:
│ │ ├── public/ vendor/ admin/ driver/ customer/ account/ auth/
│ │ ├── dashboard/ tv/ emails/ errors/
│ │ ├── layouts/ the three page shells (storefront, dashboard, sign-in)
│ │ └── partials/ shared building blocks (header, footer, cards, sections)
│ ├── routes/
│ │ ├── public.php storefront & device surfaces
│ │ ├── auth.php sign-in, registration, 2FA, vendor signup
│ │ ├── vendor.php admin.php driver.php customer.php account.php
│ │ └── web.php the hub that loads them all
│ ├── storage/ logs and caches — must be writable
│ ├── tests/ the automated test suite (php artisan test)
│ ├── build/ asset build scripts — developers only, see public/css/src/_README.md
│ ├── vendor/ bundled PHP dependencies — ships complete, never reinstall
│ ├── .env your configuration (the installer writes it)
│ ├── .env.example a documented sample of the same
│ ├── artisan command line — used for the cron entry
│ └── composer.json · composer.lock · package.json
└── Documentation/ this guide — works offline in any browser
What each folder holds, file by file, is in What's in the package.
Find your way by who you are
How each page is laid out
Every page follows the same order, so you can skim to the part you need:
| Section | What it answers |
|---|---|
| What it is | One sentence, so you know whether to keep reading. |
| Where it lives | The exact path through the menus. |
| Set it up | Numbered steps, in the order you do them. |
| Fields | Every field on the screen and what it changes — only where that needs saying. |
| How it behaves | What the application does on its own, including the parts that surprise people. |
| When it doesn’t work | The failures we see most, and what to check first. |