Restaurant point of sale

Hospitality POS

Multi-tenant restaurant POS—NestJS/MongoDB API and React dashboard for products, orders, inventory, and cash sales.

Hospitality POS project preview

Background & Context

Restaurant operators need order taking, catalog control, inventory awareness, and daily sales visibility that match hospitality pace—not a generic retail checkout adapted with workarounds. Multi-location or multi-brand groups also need tenant isolation so one restaurant’s tickets never leak into another’s.

Tekvers built resturant-pos as a multi-tenant web POS: NestJS 11 + Mongoose/MongoDB API (global prefix /api, Passport JWT) and a Vite / React 19 / React Router 7 dashboard. On register, the first user becomes admin and tenant owner; subsequent login is scoped by tenantId + email. Operators manage products and inventory, create orders through a POS endpoint, list team users for the tenant, and pull a daily sales report.

Purchases/receiving is a route placeholder only. Roles exist on the schema; the UI does not yet fully split cashier vs admin workflows. Scope is cash-sales POS and catalog—not a full kitchen display system or table-management suite beyond what the order APIs support.

The Challenge

Restaurant teams were slowed by generic POS flows and fragmented tools that did not isolate tenants or give managers a simple daily sales closeout from the same stack that takes orders. Without a coherent restaurant point of sale foundation, Hospitality POS stakeholders faced fragmented tools, slow handoffs, and limited visibility—classic failure modes Tekvers designs against.

The Solution

Tekvers delivered a multi-tenant NestJS/MongoDB API and React dashboard for product catalog, inventory items, POS order creation, team listing, and daily sales reporting—with JWT tenancy on documents and claims. Tekvers delivered a maintainable restaurant point of sale system for Hospitality POS using NestJS, React, TypeScript, MongoDB, with phased rollout, operator workflows, and documentation suited to long-term ownership.

Our Approach

  1. Tenant-first SaaS shape

    Registration creates a tenant and owner admin; MongoDB schemas and JWT claims carry `tenantId` so catalog, orders, and inventory stay isolated per restaurant.

  2. Floor-oriented order capture

    POS endpoint creates orders against the product catalog so staff can sell quickly from a web dashboard rather than juggling spreadsheets between shifts.

  3. Manager closeout basics

    Daily sales report endpoint and inventory CRUD give managers end-of-day visibility; purchases remain stubbed so the first release stays focused on sell-side ops.

What We Delivered

  • NestJS multi-tenant restaurant POS API
  • Vite/React dashboard SPA
  • JWT auth scoped by tenant and email
  • Tenant creation on first-user register
  • Product CRUD (tenant-scoped)
  • Inventory item management
  • Orders list/create and POS checkout endpoint
  • Daily sales report
  • Team user listing for the tenant
  • MongoDB document model with tenant isolation

Outcomes & Impact

  • Faster ticket handling from a dedicated restaurant POS screen
  • Tenant-isolated catalogs and orders for multi-restaurant SaaS shape
  • Clearer daily sales visibility for managers
  • Honest boundary: purchases stubbed; role-split UI still maturing

Service staff spend less time fighting generic tills and more time turning tables—orders and inventory live in one tenant-aware stack, with a clear path to deepen kitchen and purchasing modules later.

Technology Stack

  • NestJS
  • React
  • TypeScript
  • MongoDB
  • Vite
  • JWT

Services Delivered

Guides & articles from this niche

Planning a similar platform? Share your scope and we will map architecture, delivery phases, and a realistic timeline.