Overview About Solution Features Timeline How We Work Investment Support Terms
Software Development Proposal

OrderIt Platform

A restaurant ordering platform for the South African market. QR-powered ordering, real-time kitchen management, per-restaurant branding and payments.

Prepared for Stef Fitzgerald
10 April 2026 · Version 1.0 · Confidential
01 — Executive Summary

Overview

OrderIt is a restaurant ordering platform for the South African market. Diners scan a QR code at their table, browse the menu, place orders, split the bill, and pay digitally. Restaurant owners manage operations through a web dashboard — menus, live orders, tables, staff, reviews, and analytics.

The platform operates as a B2B SaaS business: restaurants pay a monthly subscription. Diners use it at no cost. All diner payments flow directly to the restaurant's own merchant account — OrderIt never holds or processes diner funds.

This proposal presents two options:

  • OrderIt Essential — Fully web-based. Diners access a mobile-optimised PWA via QR code. No download needed. Lower investment, faster to market.
  • OrderIt Premium — Everything in Essential plus native iOS + Android apps for diners and restaurant managers, push notifications, and app store presence.

Estimated timeline: 16–19 weeks depending on options selected.


02 — Who's Building This

Inventixx

A South African based software agency founded by engineers who got tired of watching projects fail because of poor architecture, dated tech, and agencies that overpromise and underdeliver.

We're a small, senior team. No outsourcing, no subcontractors, no offshore handoffs. The people who architect the system are the same people who write the code, configure the infrastructure, and answer your questions on a Tuesday afternoon.

8+ Years

Shipping production software — web platforms, mobile apps, cloud infrastructure, and AI systems.

100% Completion

We finish what we start. Every project gets a dedicated technical lead and real sprint demos.

Exact Stack

Deep experience with NestJS, Next.js, React Native, PostgreSQL, Google Cloud. Not experimental for us.

South African

SA timezone, global standards. We understand Paystack, Peach, SnapScan, and local hosting requirements.

Every project gets full IP ownership at the end. We build for your ownership, not vendor lock-in. More at inventixx.com.


03 — Understanding Your Vision

The Problem & Opportunity

The Problem

South African restaurants face growing expectations for digital ordering — but most solutions require expensive POS replacement, complex integrations, or force restaurants onto a single payment provider. Staff shortages and high table turnover make efficient ordering critical.

The Opportunity

QR-based dine-in ordering is growing rapidly. OrderIt meets restaurants where they are: integrates with existing POS systems, connects to their existing payment gateway, and lets them keep their brand identity with per-restaurant theming.

Key Requirements

RequirementOur Understanding
Per-restaurant paymentsEach restaurant connects their own gateway. Funds flow directly to the restaurant.
POS integrationPilot POS and Lightspeed out of the box. Additional systems on request.
White-labellingEach restaurant configures colours, fonts, and logo. Diners see the restaurant's brand.
Kitchen Display SystemDedicated touch-friendly screen for kitchen staff with real-time orders.
South African hostingGoogle Cloud (africa-south1, Johannesburg) for low latency.
Scalable architectureModular monolith with microservice extraction path.

04 — Proposed Solution

Two Options

Both share the same backend, infrastructure, and feature set. The difference is delivery method.

Option A — OrderIt Essential

R621,000

The complete platform, entirely web-based.

  • Diner web app (PWA) — no download
  • Admin web dashboard
  • Kitchen Display System
  • Marketing website
  • POS integration (Pilot + Lightspeed)
  • Per-restaurant payments + theming
  • Backend API + infrastructure

Option B — OrderIt Premium

R772,500

Everything in Essential, plus native mobile.

  • Everything in Option A
  • Native diner app (iOS + Android)
  • Admin mobile app
  • Push notifications
  • App store presence

PWA remains as a fallback for diners who prefer not to download.

Upgrade Path

Option A can be upgraded to Option B at any time after launch. The native apps are additive — the web platform continues to function. Upgrade cost: R139,500 (186 hours).


05 — Scope of Work

What We Build

For Diners

  • QR code scanning + table ID
  • Menu browsing with dietary filters
  • Item customisation + special requests
  • Cart + split bill with friends
  • Checkout with restaurant's payment gateway
  • Real-time order tracking
  • Waiter chat
  • Loyalty rewards
  • Allergen alerts + specials
  • Reviews + ratings

For Restaurants

  • Dashboard with live KPIs
  • Menu management (CRUD, images, tags)
  • Order Kanban board (real-time)
  • Table floor plan editor
  • QR code generation + management
  • Staff management + roles
  • Reviews + responses
  • Analytics (revenue, peak hours, items)
  • Theme customisation (brand)
  • Payment gateway configuration

For the Platform

  • Restaurant onboarding wizard
  • Subscription billing + invoicing
  • Global analytics + leaderboard
  • Support ticket system
  • User management + RBAC
  • Impersonation ("View as restaurant")
  • Audit log
  • Platform configuration

Integrations

POS
Pilot POS, Lightspeed
Payments
Paystack, Peach, SnapScan
Email
AWS SES + Resend
Storage
Cloud Storage

Out of Scope

  • Ongoing content creation (photography, copywriting, social media)
  • Paid advertising or marketing campaigns
  • POS hardware procurement or installation
  • Restaurant staff training beyond written onboarding guide
  • Additional POS integrations beyond Pilot and Lightspeed
  • Third-party service costs beyond what is listed in the infrastructure breakdown
  • Data migration from existing restaurant systems
  • Custom integrations not listed above (accounting, delivery, etc.)
  • Ongoing SEO or conversion optimisation for marketing website

If something comes up during the build, we'll discuss it openly via the change order process (Section 13).


06 — Technical Foundation

Architecture at a Glance

Modular monolith — 15 strictly isolated modules with a microservice extraction path. Full technical specifications in the accompanying handoff documents.

LayerTechnology
Diner Web App (PWA)Next.js 16, Tailwind CSS 4, Service Worker
Native Apps (Option B)React Native (Expo 54), TypeScript
Admin Dashboard + KDSNext.js 16, shadcn/ui, Tailwind CSS 4, Recharts
Backend APINestJS 11, TypeScript, Drizzle ORM
AuthenticationBetter Auth (RBAC, impersonation)
DatabasePostgreSQL 16 (Cloud SQL for PostgreSQL, HA)
Cache + Real-timeRedis 7 (Memorystore for Redis), Socket.IO 4
InfrastructureGoogle Cloud Run, GitLab CI/CD, Cloudflare, Prometheus + Grafana
System Architecture
Scroll to zoom · Drag to pan
Internet / UsersDiners & Restaurant Staff CloudflareCDN · WAF · DDoS · SSLHTTPS Expo EASOTA Updates · BuildsOption B Google Cloud — africa-south1 Google Cloud Run Frontend Services dine-webNext.js 16 · Marketing dine-adminNext.js 16 · Dashboard dine-kdsKitchen Display dine-appPWA · Both Options API Layer — Modular Monolith dine-api — NestJS 11REST · WebSocket · Better Auth · 15 Modules · Event-Driven Mobile API Data Layer PostgreSQL 16Cloud SQL · HA · Drizzle Redis 7Memorystore · Cache · Pub/Sub BullMQWorkers · Jobs Observability Prometheus+ Grafana Loki+ Sentry Cloud StorageMenu Images · Logos · QR Codes Payment GatewaysPaystack · Peach · SnapScanPer-Restaurant POS SystemsPilot POS · Lightspeed EmailAWS SES + Resend Primary flow Secondary Both options Option B only 15 API Modules auth · restaurant · menu · order · payment · table · billing · chat · review · support · pos · kds · notification · analytics · file

07 — Project Timeline

Phases & Milestones

16 weeks for the core build. 19 weeks with the optional Brand & Corporate Identity phase.

PhaseDurationDescription
Phase 0 (optional)2-3 weeksBrand & Corporate Identity
Phase 1Weeks 1-4Foundation — infrastructure, backend API, CI/CD
Phase 2Weeks 5-10Application development — all frontends, integrations
Phase 3Weeks 11-14Production hardening — payments, testing, security
Phase 4Weeks 15-16Launch — beta, go-live, app stores (Option B)
00
Pre-build
Brand & Corporate Identity (Optional)
Logo suite, colour system, typography, stationery, email signatures, social media kit, brand guidelines PDF, app store assets.
01
Weeks 1-4
Foundation
Google Cloud Run setup, CI/CD, monitoring, database schema, authentication, core API modules (restaurants, menus, orders, users, files).
02
Weeks 5-10
Application Development
Diner PWA, admin dashboard, KDS, marketing website, POS integration (Pilot + Lightspeed), QR codes, theming, real-time features. Option B adds native apps.
03
Weeks 11-14
Production Hardening
Per-restaurant payment integration, email system, security audit, performance testing, E2E + unit tests.
04
Weeks 15-16
Launch
SEO, API docs, restaurant onboarding guide, beta with 3-5 restaurants, bug fixes, go-live. App store submissions (Option B).
08 — How We Work Together

Collaboration Model

Direct access to the people building your platform. No middlemen, no black boxes.

Communication

Direct access to the technical lead via Slack or WhatsApp. Same-day responses. No account managers or middlemen.

Sprint Demos

Live screen-share walkthrough every two weeks. Working software, not slide decks. Weekly progress updates between demos.

Staging Access

From Phase 2, you get a staging environment with the latest build. Test, share, get early feedback. Not a "wait until the end" process.

Decisions

We flag decisions early with our recommendation and reasoning. Payment gateways, branding, feature tradeoffs — it's your call.

Full Visibility

Private GitLab repo with your access from day one. Project board you can view anytime. Source code, tasks, history — no black boxes.

Change Requests

Scope changes happen — we handle them cleanly. Every change is documented with impact, cost, and timeline before any work begins. No surprises on the invoice.

Documentation

API docs, deployment runbooks, and onboarding guides are delivered with the code. Your next developer won't start from scratch.

Post-Launch Handover

Full knowledge transfer session, credential handover, and architecture walkthrough. You own the platform completely — no ongoing dependency on us.


09 — Investment

Development

Option A (Essential)Option B (Premium)
Base developmentR621,000 (828h)R772,500 (1,030h)
+ Brand & Corporate IdentityR649,500 (866h)R801,000 (1,068h)

Rate: R750/hour. Brand CI adds R28,500 (38 hours) to either option.

Infrastructure pricing notice: All infrastructure and third-party service costs are estimates based on current provider pricing as of April 2026. Cloud provider pricing is volatile and subject to change without notice. Actual costs may vary based on usage patterns, USD/ZAR exchange rate fluctuations, provider pricing changes, and scaling requirements. We recommend budgeting 15–20% above these estimates. Year 1 totals that include infrastructure should be treated as indicative, not fixed.

Year 1 Total Investment

CategoryOption AOption A + CIOption BOption B + CI
DevelopmentR621,000R649,500R772,500R801,000
Infrastructure (12 months)R85,800R85,800R107,760R107,760
POS maintenance + servicesR45,200R45,200R47,513R47,513
Year 1 TotalR752,000R780,500R927,773R956,273

Payment Schedule

Milestone-based: 20% / 20% / 30% / 15% / 15%. Amounts shown as Option A / Option B.

20%
Kickoff
R124,200 / R154,500
Contract signed
20%
Phase 1
R124,200 / R154,500
Infra + API
30%
Phase 2
R186,300 / R231,750
Apps delivered
15%
Phase 3
R93,150 / R115,875
Production-ready
15%
Phase 4
R93,150 / R115,875
Go-live

Upgrade Path

Option A can be upgraded to Option B at any time. R139,500 (186 hours).

View detailed cost breakdown

All line items at R750/hour. Full breakdown by phase.

ComponentHoursCost
Phase 0 — Brand & Corporate Identity (Optional)
Brand strategy + positioning4R3,000
Logo design (full suite)8R6,000
Colour system + typography4R3,000
Business stationery + email signature6R4,500
Document templates + social media kit8R6,000
Brand guidelines PDF4R3,000
App icons + store assets4R3,000
Phase 0 Subtotal38R28,500
Phase 1 — Foundation (Weeks 1-4)
Cloud Run setup + networking20R15,000
CI/CD pipelines (4 workflows)12R9,000
Monitoring stack (Prometheus + Grafana + Loki)10R7,500
Database schema design + migrations16R12,000
Auth module (Better Auth — RBAC, impersonation)20R15,000
Restaurant API (CRUD + onboarding)12R9,000
Menu API (categories, items, customisations)16R12,000
Order API (placement, status, history)20R15,000
User & Staff API12R9,000
File upload service + image processing8R6,000
Seed data + testing8R6,000
Phase 1 Subtotal154R115,500
Phase 2 — Admin Dashboard (Shared)
Platform admin — Dashboard + KPIs10R7,500
Platform admin — Restaurant management + onboarding wizard20R15,000
Platform admin — Billing, orders, users, analytics24R18,000
Platform admin — Support ticket system12R9,000
Restaurant admin — Dashboard + KPIs8R6,000
Restaurant admin — Menu management (CRUD + images)16R12,000
Restaurant admin — Order Kanban board (real-time)16R12,000
Restaurant admin — Table floor plan editor14R10,500
Restaurant admin — QR code generator + management8R6,000
Restaurant admin — Staff, reviews, analytics, billing, settings24R18,000
Restaurant admin — Theme settings (colours, fonts, logo, preview)12R9,000
Global search (Cmd+K command palette)6R4,500
Responsive design (tablet + mobile)12R9,000
Admin Subtotal182R136,500
Phase 2 — Marketing Website (Shared)
Homepage (hero, features, stats, testimonials)10R7,500
Features + For Restaurants pages8R6,000
Pricing page (plan comparison, FAQ)6R4,500
About + Contact + How to Use OrderIt8R6,000
SEO optimisation + structured data4R3,000
Website Subtotal36R27,000
Phase 2 — Backend Integration (Shared)
WebSocket server (orders, chat, kitchen)16R12,000
QR code generation service6R4,500
Subscription + billing API (OrderIt SaaS)12R9,000
Table management API6R4,500
Restaurant theme API + contrast validation8R6,000
Shared TypeScript API client library8R6,000
White-label testing (multiple themes, edge cases)4R3,000
Backend Integration Subtotal60R45,000
Phase 2 — Kitchen Display System (Shared)
KDS web application (real-time order feed, touch UI)20R15,000
KDS backend (order routing, kitchen stations)12R9,000
KDS testing + kitchen workflow6R4,500
KDS Subtotal38R28,500
Phase 2 — POS Integration (Shared)
POS adapter framework (plugin architecture)20R15,000
Pilot POS adapter24R18,000
Lightspeed adapter24R18,000
POS management UI (admin dashboard)16R12,000
Testing with real POS hardware18R13,500
POS documentation4R3,000
POS Subtotal106R79,500
Phase 2 Shared Total422R316,500
Phase 2 — Diner Web App / PWA (Both Options)
QR scanner (web camera API)6R4,500
Restaurant home + menu browsing12R9,000
Item detail + customisation6R4,500
Cart management8R6,000
Split bill feature10R7,500
Checkout + payment flow10R7,500
Order tracking (real-time)6R4,500
Waiter chat (real-time)8R6,000
Rewards + loyalty6R4,500
Profile + order history5R3,750
Search + allergens + specials6R4,500
Per-restaurant theming8R6,000
PWA setup (service worker, install, offline)3R2,250
Diner PWA Subtotal94R70,500
Phase 2 — Option B: Native Diner App (iOS + Android)
QR scanner + table identification8R6,000
Restaurant home + menu browsing (4 screens)16R12,000
Item detail + customisation flow8R6,000
Cart management10R7,500
Split bill feature12R9,000
Checkout + payment flow12R9,000
Order tracking (real-time)8R6,000
Waiter chat (real-time)10R7,500
Rewards + loyalty8R6,000
Profile + order history6R4,500
Search + allergens + specials8R6,000
Per-restaurant theming10R7,500
Native Diner Subtotal116R87,000
Phase 2 — Option B: Admin Mobile App
Dashboard (live KPIs, revenue)10R7,500
Order management (accept, status, details)12R9,000
Push notifications6R4,500
Menu quick-edit (sold out, specials)8R6,000
Staff overview6R4,500
Reviews4R3,000
Settings4R3,000
Admin Mobile Subtotal50R37,500
Phase 2 — Option B: Platform
Push notification service (both apps)8R6,000
Expo EAS setup (2 apps)4R3,000
App Store + Play Store submissions8R6,000
Option B Additions Total186R139,500
Phase 3 — Production Hardening (Weeks 11-14)
Payment gateway integration (per-restaurant, multi-provider)16R12,000
Invoice generation (PDF)8R6,000
Push notification service — Option B only8R6,000
Transactional email system (templates + delivery)10R7,500
Security audit + hardening12R9,000
Performance testing + optimisation12R9,000
E2E test suite (critical flows)20R15,000
Unit + integration tests20R15,000
Bug fixes + polish16R12,000
Phase 3 Subtotal114 / 122R85,500 / R91,500
Phase 4 — Launch (Weeks 15-16)
App Store + Play Store submissions — Option B only8R6,000
API documentation (Swagger/OpenAPI)6R4,500
Restaurant onboarding guide4R3,000
Beta onboarding support (3-5 restaurants)12R9,000
Bug fixes from beta16R12,000
Final deployment + go-live6R4,500
Phase 4 Subtotal44 / 52R33,000 / R39,000
Option A Total (Essential)828R621,000
Option B Total (Premium)1,030R772,500
View infrastructure cost breakdown

All infrastructure costs are estimates based on current provider pricing (April 2026) and are subject to change. Actual costs depend on usage, exchange rates, and provider pricing updates.

Production — Google Cloud (africa-south1, Johannesburg)

ResourceSpecificationMonthly (ZAR)
Cloud Run (API + 4 frontends)2 vCPU / 4 GB, auto-scale to zeroR1,500
Cloud SQL (PostgreSQL 16)db-f1-micro, HA, 50 GB SSDR2,200
Memorystore (Redis)Basic, 1 GBR850
Cloud StorageMenu images, QR codes, receiptsR200
Cloud CDN + Load BalancingGlobal edge cachingR600
Artifact RegistryContainer imagesR100
Cloud Monitoring + LoggingIncluded (free tier)R0
Secret Manager~50 secretsR50
GCP SubtotalR5,500

Third-Party Services

ServicePlanMonthly (ZAR)
Cloudflare ProWAF + DDoSR370
SentryTeam (errors + performance)R481
Expo EAS (Option B only)ProductionR1,832
Third-Party SubtotalR851 (A) / R2,683 (B)

Monthly Total: Option A ~R6,350 / Option B ~R8,180. Staging: Cloud Run staging revisions + Cloud SQL dev ~R800/month.

10 — Deliverables

What You Get

Included in All Options

  • Full source code ownership (all repositories)
  • Design files (.pen format, 109 frames, 22 components)
  • Database schema and migration scripts
  • CI/CD pipeline configuration (GitLab CI/CD)
  • Cloud Run service configurations + Dockerfiles
  • API documentation (Swagger/OpenAPI)
  • Restaurant onboarding guide
  • 30-day post-launch warranty

Option A (Essential)

  • Diner progressive web app (PWA)
  • Admin web dashboard
  • Kitchen Display System (web)
  • Marketing website
  • Backend API
  • Production + staging infrastructure

Option B adds:

  • Native diner app (iOS + Android)
  • Admin mobile app (iOS + Android)
  • App Store + Google Play listings
  • Expo EAS build configuration
  • Push notification infrastructure

Optional Add-On: Brand & Corporate Identity (R28,500)

Logo suite, colour system, typography, stationery, email signatures, document templates, social media kit, brand guidelines PDF, app store assets.


11 — Post-Launch Support

Ongoing Support

The 30-day warranty covers defects. After that, your platform still needs someone keeping an eye on things.

Monthly Retainer

BlockHoursRateMonthly
Starter10 hours/monthR750/hrR7,500
Standard20 hours/monthR700/hrR14,000
Growth40 hours/monthR650/hrR26,000

Ad-Hoc Support

No commitment. R750/hour. Response within 48 hours on business days.

What's Covered

Bug fixes, minor features, dependency updates, security patches, infrastructure monitoring, performance tuning, and technical advice. Major new features scoped separately.

We recommend the Standard retainer for the first 3-6 months while the platform stabilises. Step down to Starter or ad-hoc once things settle.


12 — Assumptions & Client Dependencies

What We Need From You

This timeline and pricing assume the following. If anything changes, we'll discuss the impact openly.

Timely Feedback

3-5 business day response on questions and decisions. Delays push the timeline.

Payment Accounts

Beta restaurants need active Paystack/Peach/SnapScan merchant accounts. Sandbox by mid-Phase 2, production by Phase 3.

Beta Restaurants

3-5 restaurants identified and willing to participate. You recruit them; we provide all technical support and onboarding materials.

Menu Content

Restaurants provide their own menu data (items, prices, descriptions, images). We build the upload tools.

App Accounts (B)

Apple Developer + Google Play accounts in your name. We handle submission; accounts must be yours.

Domain

orderit.co.za registered in your name. We configure DNS and SSL.

Account Ownership

All infrastructure accounts (Google Cloud, Cloudflare, Sentry, GitLab) created under your ownership from day one. We set them up and manage them during development, but credentials and billing sit with you. No migration delay at project end. We don't believe in setups where the client has to ask permission to access their own infrastructure.


13 — Terms & Conditions

Engagement Terms

Intellectual Property

All source code, designs, and documentation become client property upon final payment. Open-source components retain their licenses.

Change Management

Scope changes require a written change order with timeline and cost impact. No work begins until written approval.

Warranties

30-day post-launch warranty for defects. Does not cover requirement changes, third-party outages, or client modifications.

Payment Terms

Due within 7 days of milestone completion. Late payments may result in project suspension. Infrastructure billed monthly.

Confidentiality

Both parties keep project details confidential. Portfolio usage requires separate written agreement.

Liability

Limited to fees paid. No liability for indirect or consequential damages. Standard force majeure provisions.

Termination

30 days written notice. Client pays for completed work. All deliverables transfer upon payment.


14 — Risk Management

Key Risks

RiskImpactMitigation
Restaurant payment gateway onboardingLaunch delayMulti-provider support. Start integration early.
App Store rejection (Option B)2-week delayFollow guidelines. Plan review buffer.
Restaurant adoption paceRevenue impactQuality beta with 3-5 restaurants first.
Scope creepBudget overrunWritten change orders. Weekly scope reviews.

15 — Next Steps

Getting Started

1

Review & Align

Review this proposal. Schedule a walkthrough to discuss questions and adjustments.

2

Select Option

Choose Essential or Premium. Decide on the Brand & Corporate Identity add-on.

3

Kick Off

Sign the SOW, make the initial payment. Phase 0 or Phase 1 begins immediately.


Appendices

Technical Details

Detailed technical specifications for the development team. Expand each section for full details.

Authentication & Role-Based Access Control

OrderIt uses Better Auth for session-based authentication with built-in user management, RBAC, and impersonation. No custom JWT middleware.

RoleAccess Scope
dine_adminFull platform access — all restaurants, billing, users, support
restaurant_ownerFull access to own restaurant — menu, orders, staff, billing, settings
restaurant_managerOwn restaurant — menu, orders, staff (no billing or settings)
restaurant_staffOwn restaurant — orders and tables only

Impersonation: Platform admins use Better Auth's built-in impersonation plugin to view any restaurant's dashboard for debugging.

Real-time Architecture (WebSocket)

Socket.IO 4 with Redis pub/sub adapter for multi-instance coordination. Room-based isolation per restaurant/table.

NamespacePurposeKey Events
/ordersOrder status updatesorder:new, order:status_changed, order:cancelled
/chatWaiter-diner messagingmessage:new, typing, read_receipt
/kitchenKitchen display updatesorder:new, order:item_ready
Payment Architecture (Per-Restaurant)

Each restaurant configures their own payment gateway. OrderIt never holds diner funds.

AspectDetail
Supported providersPaystack, Peach Payments, SnapScan (adapter pattern)
Fund flowDiner → Restaurant merchant account (direct)
CredentialsEncrypted per-restaurant in database (JSONB)
WebhooksPer-restaurant webhook secret verification
VAT15% calculated and displayed on all transactions
OrderIt billingSeparate — OrderIt invoices restaurants for SaaS subscription
POS Integration Architecture

Plugin-based adapter system. Each POS gets its own adapter module implementing a shared interface.

CapabilityDirectionDescription
Order PushOrderIt → POSOrders appear in POS automatically
Menu SyncPOS → OrderItPull categories, items, prices from POS
Status SyncPOS → OrderItKitchen status reflected in real-time
ReconciliationOrderIt → POSPayments mapped to POS transactions

Included: Pilot POS + Lightspeed. Additional integrations: R42,500–R60,000 per system. Annual maintenance: R22,500/year per integration.

Modular Monolith Architecture

Single NestJS application with 15 strictly isolated modules. Each module owns its database tables and communicates through an internal event bus (@nestjs/event-emitter).

ModuleOwnsExtraction Priority
authusers, sessionsLow
restaurantrestaurants, themesLow
menucategories, itemsMedium
orderorders, order_itemsHigh
paymentpayment_configurationsMedium
tabletables, qr_codesLow
billingplans, subscriptions, invoicesLow
chatchat_messagesHigh
reviewreviewsLow
supporttickets, messagesLow
posintegrations, mappingsMedium
kdskitchen routingHigh
notification(event-driven)Medium
analyticsdaily aggregatesMedium
fileCloud StorageLow

Extraction path: When a module needs independent scaling, internal event bus swaps to RabbitMQ/NATS, the module becomes its own NestJS app deployed as its own Cloud Run service.

Database Schema (19+ Tables)

PostgreSQL 16 with Drizzle ORM. All monetary values stored as integers (cents). Displayed as R X XXX.

TablePurposeKey Relationships
plansSubscription tiers and limits
restaurantsRestaurant profiles and status→ plans
restaurant_themesPer-restaurant branding (colours, fonts, logo)→ restaurants
usersAll accounts (admins, owners, staff)→ restaurants
sessionsBetter Auth session storage→ users
menu_categoriesMenu sections per restaurant→ restaurants
menu_itemsItems with pricing + customisations→ menu_categories
tablesPhysical tables per restaurant→ restaurants
qr_codesQR codes linked to tables→ tables
ordersCustomer orders→ restaurants, tables
order_itemsItems within an order→ orders, menu_items
payment_configurationsPer-restaurant gateway credentials→ restaurants
subscriptionsActive subscription per restaurant→ restaurants, plans
invoicesBilling invoices→ restaurants
reviewsCustomer ratings→ restaurants, orders
support_ticketsSupport threads→ restaurants, users
chat_messagesWaiter-diner chat→ restaurants, tables
rewardsLoyalty rewards→ restaurants
loyalty_transactionsPoints earned/redeemed→ users, orders
pos_integrationsPOS config per restaurant→ restaurants
pos_menu_mappingsPOS item ↔ OrderIt item→ pos_integrations
audit_logAll admin actions→ users
Domain & Hosting Strategy
DomainService
orderit.co.zaMarketing website
app.orderit.co.zaAdmin dashboard + KDS
api.orderit.co.zaBackend API + WebSocket
assets.orderit.co.zaCDN for images and static files (Cloud Storage)

Disaster Recovery

ComponentRPORTO
Database5 minutes (PITR)30 minutes
File storage0 (Cloud Storage globally redundant)Immediate
Cloud Run services0 (stateless, instant redeploy)5 minutes
Application code0 (Git)30 minutes (redeploy)
Design System & Tokens

109 design frames, 22 reusable components. Luxury minimalist aesthetic with dark mode support.

TokenValueUsage
--bg-primary#FAFAFAPage backgrounds (light)
--bg-inverse#0A0A0ADark sections, dark mode base
--fg-primary#0A0A0APrimary text
--fg-secondary#6B6B6BSecondary text, labels
--accent-light#0D9488Gold highlights, premium indicators
--success#16A34AConfirmations, available
--warning#D97706Alerts, pending
--error#DC2626Errors, destructive

Typography: Playfair Display (headings, 600/700) + Inter (body/UI, 400-700). Uppercase labels with 2-8px letter spacing.

Per-restaurant theming overrides these tokens with restaurant-configured colours, fonts, and logo. Contrast validation (WCAG AA) enforced on save.

OrderIt

Enter Passcode

This proposal is confidential.

Incorrect passcode