Burgerbar is a full-stack restaurant platform with two parts. Customers get an online menu, cart and checkout. Restaurant staff get a back office for orders, menu, invoices, finances and website content.
A customer can browse the menu by category, choose a size, add items to the cart and place a delivery order without creating an account. Staff see each order right away in the admin panel. From there they move it through its statuses, send invoices by email and record payments.
The project is built on our own modular Laravel architecture. Each business area (Products, Finance, CMS, Notices, Users and so on) is a separate module. This makes the platform easy to extend and to reuse as a white-label product for other restaurants and food businesses.
Live demo: burgerbar.robustbinary.fi
Key Features
Customer Website
- Responsive restaurant website: hero slider, "Today's Special", menu, reservation form, story, team, gallery, notices and a newsletter signup.
- Category-based menu: 11 categories (Garlic Bread, Burgers, Nan Kebabs, Kebabs, Wraps, Parmesans, Pizzas, Sundries, Premium Sides, Drinks and Desserts), each with its own product listing page.
- Size variants: products such as pizzas and garlic bread come in Small, Medium, Large and Extra Large, each with its own price.
- Live cart: built with Livewire. The cart total in the header updates as soon as an item is added, with no page reload.
- Guest checkout: billing and delivery details, delivery zone (inside or outside the city) with its own delivery charge, an automatic service charge, and Cash on Delivery.
- Order confirmation: each order gets a unique public link showing its details, and an invoice is emailed to the customer.
- Gallery: photos that can be filtered by category.
- Notice board: restaurant announcements with a listing page and a detail page for each notice.
- CMS pages and posts: content pages and blog-style posts managed from the admin panel.
Admin Panel
- Dashboard: product count and order counts by status (pending, completed, cancelled).
- Order management:
- Order list with server-side search, sorting and filtering (DataTables).
- Order workflow: Pending → Processing → Shipped → Delivered / Undelivered / Returned → Completed, or Cancelled.
- Completing an order creates a payment transaction and marks the order as Paid.
- Printable invoices, receipts and reports.
- Invoices can be sent to the customer by email again with one click.
- Staff can create orders by hand in the back office.
- Menu and product management:
- Products with SKU, purchase and selling price, discounts, tax, barcode, specifications, stock status and featured flag.
- Size variants as child products under a parent product.
- Categories with nesting, plus brands and units.
- Image galleries with a featured image, using Spatie Media Library and FilePond uploads.
- Drag-and-drop ordering.
- Finance:
- Bill types and bill categories.
- Wallets and transactions, with fund deposits and withdrawals.
- Website settings: company details, address, opening hours, contact information, logo, favicon, social links, footer text, copyright, currency, delivery charges and service charge. All of these are managed from the admin panel with no code changes.
- Content management: notices, CMS post types, taxonomies, posts and pages.
Users, Security & Access Control
- Role-based access control (Laratrust) with fine-grained permissions. The roles are Developer, Super Admin, Admin, Rider (delivery staff) and General (customer).
- Separate portals: staff use the back office and customers use the front end. Each has its own middleware.
- Authentication:
- Email and password login.
- Email verification and password reset.
- OTP verification.
- Password confirmation for sensitive actions.
- Social login through Laravel Socialite, ready for Google, Facebook, Microsoft, Apple, Twitter, LinkedIn and GitHub.
- Audit trail: every change to key records is logged with Laravel Auditing.
- Soft deletes with cascading, so deleted data can be restored.
- Hashed IDs and UIDs in public URLs, so internal IDs are never exposed.
- Bot protection: hCaptcha and reCAPTCHA integration.
Operations & Developer Tooling
- Automated backups with Spatie Laravel Backup.
- Log viewer and Clockwork profiler for debugging in production.
- Built-in file manager for media assets.
- Translation manager: the interface is fully translatable and ready for more than one language.
- ImageKit CDN integration for fast image delivery.
- Code style enforced with Laravel Pint.
Architecture
- Modular monolith: each module has its own routes, entities, controllers, Livewire components, migrations, seeders and views.
- Service layer: business logic such as building orders, mapping order data and sending invoices lives in service classes, not in controllers.
- Livewire: the cart, checkout, product forms and order entry are reactive without a separate SPA.
- Polymorphic relations: products and orders link to categories, brands, units and users through polymorphic pivot tables.
- Reusable in-house libraries: our own packages for media, OTP, settings persistence, statuses and UIDs, shared across projects.
Order Flow
- The customer browses the menu by category and picks a size.
- They add items to the cart. The cart updates live.
- At checkout they enter their contact and delivery details and pick a delivery zone. The delivery and service charges are calculated automatically.
- They place the order with Cash on Delivery. A bill is created with status Pending and payment status Unpaid.
- The customer receives an invoice by email and a link to view the order.
- Staff process the order in the admin panel: Processing, then Shipped, then Delivered.
- When the order is completed, a payment transaction is recorded and the order is marked Paid.
Tech Stack
| Layer | Technology |
|---|---|
| Backend | Laravel, PHP |
| Frontend interactivity | Livewire, Alpine.js |
| UI | Blade, Bootstrap, custom restaurant theme |
| Database | MySQL |
| Architecture | nwidart/laravel-modules (modular monolith) |
| Auth & ACL | Laravel Sanctum, Socialite, Laratrust |
| Cart | darryldecode/cart |
| Media | Spatie Media Library, FilePond, ImageKit CDN |
| Data tables | Yajra DataTables (server-side) |
| Auditing | owen-it/laravel-auditing |
| Ops | Spatie Backup, Log Viewer, Clockwork |
| Build | Vite |
Our Role
RobustBinary designed and built the whole platform: system architecture, database design, the modular backend, the admin panel, the customer website, the ordering and checkout flow, and deployment.
Highlights
- Complete ordering system: from browsing the menu to a paid, completed order, with emailed invoices and printable receipts.
- Easy for owners to manage: menu, prices, delivery charges, opening hours and website content are all edited from the admin panel.
- White-label ready: the modular design and settings-driven branding let us roll it out for other restaurants quickly.
- Secure and traceable: role-based access, audit logs, backups, and hashed IDs in public URLs.