Pizza Delivery App (Multi-Store)
A multi-store pizza delivery system — a Flutter (Dart) mobile app for customers, backed by a Laravel admin panel where a Super Admin manages all stores and each Store Manager handles their own branch.
What the problem was
A single pizza shop was growing into multiple branches, and everything was being managed through phone calls and WhatsApp. Orders were written down on paper, stock was never accurate, and there was no way for one owner to keep an eye on multiple stores at once. Customers had no app to order from — they had to call the shop every time.
What I built
I built the system in two parts. First, a Laravel 12 web admin panel with two roles: a Super Admin who adds and manages every store, and a Store Manager who only sees their own branch\u2019s menu, orders, and stock. Then, a Flutter (Dart) mobile app for customers, connected through a REST API — it fetches real-time data, handles secure authentication with login and register, and shows menus, offers, and order status straight from the backend. Every order placed in the app reaches the correct store\u2019s admin panel instantly, and stock updates flow back to the app in real time.
Main parts of the system
Super Admin panel
Add and manage multiple stores, each with its own manager, menu, and settings.
Store Manager panel
Each branch manager sees only their own orders, menu, and stock — role-scoped access.
Flutter mobile app
A Dart-based app for customers — built with real-time data fetched from the Laravel REST API.
Secure authentication
Login, register, and token-based sessions. Every request is user-scoped and validated.
Real-time data
Orders, menus, and stock stay in sync between the app and the admin panel instantly.
REST API
A clean JSON API designed for the mobile app, with consistent responses and error handling.
How it looks from the inside