HOMEPROJECTSIREPAIRLY POS

IREPAIRLY POS

Multi-tenant POS & repair-shop operations

Category
SaaS - multi-tenant, subscription-billed B2B web application
Type
Multi-tenant SaaS
Role
Full-stack developer - architecture, backend, and frontend
VISIT LIVE
01
OVERVIEW

A cloud-hosted platform that runs the full operations of repair businesses and retail shops (point of sale, inventory, repair-ticket workflows, CRM, staff management, and billing) from a single multi-tenant codebase. Each business gets an isolated, subdomain-scoped workspace; a superadmin console onboards tenants, manages subscription plans, and applies industry-specific vertical templates (e.g. phone repair, mobile tyre fitting) that preconfigure catalogues, statuses, and pricing.

02
ARCHITECTURE

MULTI-TENANCY & ISOLATION

Subdomain-based tenant resolution with a middleware chain (auth → tenant → branch → RBAC → rate-limit). PostgreSQL Row-Level Security enforces per-business and per-branch data isolation at the database layer.

LAYERED BACKEND

~40 controller/service modules over the Next.js API layer, with business logic pushed into ~215 versioned SQL migrations and Postgres RPC functions for money-critical operations - profit & loss, split-tender reconciliation, refund sign handling, cash-movement ledgers.

STATE & DATA

TanStack Query for server-state caching and optimistic updates, Zustand for POS/session/UI stores, Supabase Realtime for live messaging and dashboard updates, Redis for rate limiting and hot-path caching.

03
KEY MODULES

Point of Sale

Register sessions with cash-drawer tracking, split-tender payments, refunds and exchanges, gift cards, store credits, trade-ins / buyback, loyalty points, HID barcode-scanner support, and live KPI dashboards.

Inventory

Product variants and attributes, bundles, suppliers and purchase orders (incl. auto-generation from low stock), supplier returns, stock counts, damage/returns, bin management, Excel bulk import/export, and batch barcode-label printing.

Repairs

Repair tickets with configurable statuses and drag-and-drop workflows, device/fault catalogues, technician assignment, estimates, warranty lookup, and vehicle records for automotive verticals.

Appointments & booking

Public booking widgets and an embeddable price/status tracker, availability engine, business hours, and blocked dates.

CRM & staff

Customer groups, custom fields, asset history and record merging; employee time clock, shifts, payroll, commission rules, IP whitelisting, PIN auth, activity logging, and role-based permissions.

Billing

Stripe checkout, customer portal, and webhooks driving tiered plans, custom-negotiated pricing, per-tenant module entitlements, plan-limit enforcement, and a nightly subscription-reconciliation cron.

Superadmin

Tenant onboarding, plan and module-template management, broadcasts, cross-tenant analytics, helpdesk, manual payments, and automated business backups.

04
HIGHLIGHTS
  • Designed money-handling flows (split tender, partial refunds, trade-ins, deposits) so cash-drawer expectations and P&L stay correct across every payment path.
  • Built a configuration-driven module system letting each plan/tenant enable or hide entire feature areas without code branches.
  • Kept tenant isolation enforced at the database via RLS rather than trusting application code.

FULL STACK

Next.js 16React 19TypeScriptSupabasePostgreSQLRow-Level SecurityRealtimeStorageStripeRedis (ioredis)TanStack Query & TableZustandZodTailwind CSS v4Radix UIRecharts@react-pdf/rendererPlaywright