Inkanteen logo
Food & Beverage / Canteen OperationsCompleted — multi-product build

A Canteen Operating Suite — QR Ordering, POS, Catering & Dashboard

InKanteen is not one app but a product suite for running canteens and food courts end to end: a QR-based ordering web app for diners, a cashier POS, a B2B catering subscription product, and an operator dashboard. Built on a Vue + NestJS stack with event-driven messaging so multiple tenants and order channels stay in sync.

A Canteen Operating Suite — QR Ordering, POS, Catering & Dashboard

The Problem

Multi-tenant canteens juggle several order channels at once — diners ordering at the table, a cashier ringing up walk-ins, and recurring catering orders — usually across disconnected tools. The result is mismatched stock, slow queues, and no consolidated view for the operator. InKanteen needed these channels to run as one system: a QR menu diners could order and pay from on their own phones, a fast POS for the cashier, a catering flow for subscriptions, and a dashboard that ties tenant operations together.

Constraints

  • Multiple products sharing one domain model — menu, orders, tenants, payments
  • Order events must stay consistent across QR, POS, and catering channels
  • Diner-facing flow must work instantly on a phone with no app install
  • Indonesian users — UI and payment flows in Bahasa
  • Built to support multiple canteen tenants from one backend

Our Approach

We built InKanteen as a suite of products on a shared Vue 3 + Vite frontend and a NestJS service layer, with RabbitMQ carrying order events between channels so the QR menu, POS, and catering flows reconcile against one source of truth. The diner app lets customers select a tenant, browse the menu, order, and pay straight from a QR scan — no install. The POS gives cashiers a tap-to-cart, checkout, and payment-success flow for walk-ins. The catering product handles subscription-style recurring orders for B2B clients (built end to end, kept as an internal product). The operator dashboard sits on top for menu, tenant, and order management. MySQL backs the transactional data.

Gallery

Outcome

  • QR ordering app — diners order and pay from their own phones, no install
  • Cashier POS with tap-to-cart, checkout, and payment-success flow
  • B2B catering subscription product built end to end
  • Operator dashboard for menu, tenant, and order management
  • Event-driven backend keeps QR, POS, and catering channels in sync
  • Multi-tenant by design — one backend serving many canteens

Why this matters

InKanteen is a reminder that most real software is a suite, not an app. The interesting work was not any single screen — it was keeping a QR order, a POS sale, and a catering subscription consistent across one event-driven backend. That discipline, building several products against a shared domain model, is exactly what we now bring to client work at Idin Studio.

Tech Stack

Vue 3ViteNestJSNode.jsRabbitMQMySQLTailwind CSSWebpack
LET'S GO

Get in touch

Have a project in mind?

Reply within 24 hours during WIB business hours. Indonesian or English — whichever fits you.

Start a conversation
Top Rated Plus
100% Job Success
8+ Clients
A Canteen Operating Suite — QR Ordering, POS, Catering & Dashboard | Idin Studio