A professional, real-time restaurant ordering system with a shared cloud backend.
View Future Roadmap & Checklist
Ordera is now ready to run across multiple devices (Tablets, Phones, Kitchen Displays) using a shared database.
The easiest way to sync all devices is to run the backend in Docker:
- Ensure Docker Desktop is installed.
- Run:
docker-compose up --build - This launches:
- Postgres Database: Global source of truth.
- Redis: Real-time message broker for instant kitchen sync.
- FastAPI/Starlette Backend: The high-performance API.
- In
frontend/lib/config/config.dart, updateprodHostto your server's IP or Domain. - Apps running on any device will now see the same orders and menu items in real-time.
- 🔄 Global Sync: Powered by Redis and PostgreSQL for multi-server reliability.
- 🐳 Dockerization: One-click deployment for the entire infrastructure.
- ⚡ Real-time Engine: Upgraded WebSocket system ensures 100% message delivery.
- 🛡️ Error Tracking: Integrated Sentry for pro-active debugging in production.
- 📊 Enhanced Dashboard: Real-time sales indicators and order tracking.
- 🏪 Multi-Tenant: Secure data isolation for multiple branches.
- 🗂️ Category Management: Deep organization for menu items.
- 📱 Kiosk Mode: High-end consumer interface with smooth cart logic.
- 🍳 Kitchen Display (KDS): Real-time ticket management for chefs.
- 📊 Admin Portal: Insights, inventory, and order history.
Double-click start.bat in the project root to launch a local dev environment.
- Signup: Create your restaurant branch (e.g., Sizzling Bistro - Soho).
- Setup: Create your categories and add products with high-quality images.
- Operations:
- Customers place orders via the Kiosk.
- Kitchen staff receive instant notifications on the KDS.
- Managers track live revenue on the Dashboard.
- Backend: Python 3.10 (Starlette, SQLAlchemy, PostgreSQL)
- Infrastructure: Redis (Pub/Sub), Docker, Docker-Compose
- Frontend: Flutter (3.x)
- Monitoring: Sentry
- CI/CD: GitHub Actions
Restaurant->User->Category->Product->Order->OrderItem- Optimized for horizontal scaling and multi-region deployment.