Multi-tenant data isolation at scale
Shared database with strict tenant scoping and separate platform and portal access paths — without per-tenant database overhead.
Case study
Multi-Tenant Garage Management SaaS
garagenanban.com
Product preview
Architected Garage Nanban — a multi-tenant workshop management SaaS for Indian automobile garages. One platform covers job cards, customers, vehicles, GST-ready invoicing, inventory, service reminders, and a self-service customer portal. Three deployable apps share one domain model: a Next.js garage workspace with portal and marketing, a Next.js platform admin console, and a NestJS API on PostgreSQL, Redis, and object storage.
Problem & goal
Indian auto workshops — from two-wheeler mechanics to multi-brand service centers — still rely on paper job cards, spreadsheets, and scattered WhatsApp threads to run daily operations. Billing, inventory, customer history, and staff coordination live in disconnected tools, which slows service delivery and makes growth harder.
Garage Nanban addresses this with one platform for complete garage management — job cards, customers, invoices, service history, and customer retention. Garages get a free workspace for day-to-day operations; Garage Pro unlocks GST billing when they need it. Platform operators govern SaaS plans, subscriptions, and tenant lifecycle from a separate admin console.
Target users
Garage owners & staff — job cards, customers, vehicles, billing, inventory, attendance, reports, and settings from the garage workspace
End customers — vehicle history, invoices, bookings, garage discovery, and warranty visibility from the customer portal
Platform operators — tenant onboarding, plan catalog, subscriptions, feature overrides, cross-tenant analytics, and audit from the admin console
Core capabilities
Secure staff login with email/password and Google OAuth; customer login with phone verification. Workspaces isolated by tenant with role-based permissions and subscription-state gates.
Digital job cards with status workflow, technician assignment, service line items, odometer readings, and next-service scheduling.
Customer and vehicle records with structured Indian addresses, lead capture, vehicle transfer, and searchable service history.
Quotations, GST-ready invoices, payment receipts, manual and online payment recording, and PDF generation for all billing documents.
Spare-parts stock tracking, inventory movements linked to job consumption, and low-stock awareness.
Garage-defined membership plans with enrollment tracking; employee records, attendance marking, and holiday calendars.
Scheduled service reminders and multi-channel outbound messaging — email, SMS, WhatsApp, and push — via background workers.
Linked customers view vehicles, job status, invoices, bookings, garage profiles, and warranties across garages.
Dedicated console for SaaS plan management, tenant lifecycle, subscription oversight, access control, and audit logs.
Six modules that work together
Manage every service job from vehicle check-in to delivery — check-in, technician assignment, and delivery tracking.
Build long-term customer relationships with complete service history, profiles, and notes.
Capture leads, manage appointments, and convert more customers with follow-up workflows.
Generate quotations, GST invoices, and track payments with outstanding dues visibility.
Automate service reminders, WhatsApp notifications, and review requests to bring customers back.
Monitor revenue, job performance, and customer growth from operational dashboards.
Purpose-built for every part of the workflow
Customer profiles, service history, notes, and loyalty tracking — know every customer and their full service story.
Vehicle records, service timeline, odometer tracking, and insurance and warranty records for every vehicle in the bay.
Vehicle check-in, technician assignment, work progress tracking, and delivery management from keys-in to keys-out.
Digital quotations, GST invoices, payment tracking, and outstanding dues — professional billing in minutes.
Next service due, oil change, insurance renewal, and warranty expiry reminders so follow-ups are never missed.
Vehicle received, job status updates, vehicle-ready notifications, and invoice sharing — keep customers informed automatically.
High-level design
The product ships as three deployable applications sharing one domain model: a Next.js garage workspace with customer portal and marketing site, a Next.js platform admin console, and a NestJS API on a high-performance HTTP adapter. PostgreSQL stores tenant-centric relational data with Prisma. Redis powers background job queues and real-time fan-out. Object storage handles logos, vehicle media, and generated PDFs.
The API is a modular monolith — feature modules for auth, tenants, customers, vehicles, job cards, billing, inventory, reminders, notifications, reports, PDF, platform, and portal. Heavy work such as PDF rendering, outbound notifications, and reminder dispatch is enqueued to background workers. Tenant-scoped data is enforced at the API layer with separate access paths for the customer portal.
Production stack
Challenges solved
Shared database with strict tenant scoping and separate platform and portal access paths — without per-tenant database overhead.
Entitlement-driven feature gates with per-tenant overrides managed from the platform admin.
Notifications, reminders, and PDF jobs run in background workers — API requests stay fast while outbound I/O retries independently.
Three-app separation — garage workspace, customer portal, and platform admin each have distinct auth contexts.
Redis-backed WebSocket adapter broadcasts events to the correct tenant and user without sticky sessions.
GST invoicing, INR handling, Indian mobile normalization, and structured address fields built into the domain model.
Built for production load
Background workers offload notifications, reminders, PDF rendering, and webhook processing
Redis-backed realtime adapter for multi-instance deployments
Paginated list endpoints on tenant-scoped queries
Frontend query caching with targeted invalidation
PWA precaching for faster repeat loads on the garage workspace
Stateless API containers scale horizontally behind Nginx
Rate limiting on auth and public endpoints
Scheduled database backups
Operations
Production runs as Docker containers orchestrated through split Compose files for data, API, frontend, admin, and edge proxy services. Build and deploy are scripted from the repo root. Database migrations run post-deploy. TLS certificates renew on a scheduled cycle. Asia/Kolkata timezone is applied across services.
Roadmap
Dedicated worker tier for higher notification and PDF volume
Read replicas for analytics dashboards
Deeper WhatsApp template and campaign tooling
AI-assisted service recommendations from workshop history
Multi-branch and franchise management for enterprise chains
Expanded payment gateway options
Customer self-service booking with real-time slot availability