Case study · 2025 · Full-Stack Developer

POS Repair Shop

A multi-branch point-of-sale that runs a repair business end-to-end, from service intake to warranty claim.

Client
Client project · repair retail
Role
Full-Stack Developer
Timeline
2025 · ongoing
Year
2025
3
operating roles
Multi
branch-aware
Auto
PDF + WhatsApp receipts
Next.js 15TypeScriptTailwind CSSshadcn/uiPostgreSQLPrismaIron SessionSWRPuppeteerWhatsApp Business APIZodRechartsVercel

Overview

A production point-of-sale and operations platform for a multi-branch repair business. It unifies three roles (owner, admin, and technician) around one source of truth: every service order, payment, part, and warranty flows through a single branch-aware system.

The problem

The shop ran on paper tickets and spreadsheets. Stock across branches drifted, receipts were handwritten, and warranty history was impossible to trace. Owners had no live view of the business.

Goals

  • One system for intake, cashier, inventory, and reporting.
  • Role-scoped access with a clean audit trail.
  • Accurate, branch-aware stock in real time.
  • Professional receipts and reports, generated automatically.

Architecture

Next.js App Router with a Prisma/PostgreSQL core. Sessions are sealed with Iron Session and every mutation is validated with Zod at the boundary. SWR keeps the UI live; Puppeteer renders pixel-accurate PDF receipts server-side; the WhatsApp Business API delivers them to customers automatically.

Application flow diagram

What it does

Service order management

Intake to hand-off: device, complaint, diagnosis, parts, and status, tracked per technician.

Cashier & payments

Fast checkout with partial payments, paid-in-full tracking, and instant PDF receipts.

Inventory & stock opname

Branch-aware stock, transfers between branches, and reconciliation via stock opname.

Warranty claims

Every sale carries a traceable warranty; claims resolve against real service history.

Reports & analytics

Revenue, stock, and performance dashboards with Recharts, exportable to Excel.

Roles & security

Owner, admin, and technician each see exactly what they should: sealed sessions, validated inputs.

Generated documents

Receipts, purchase orders, and warranty slips are rendered as clean PDFs, the customer-facing surface of the whole system.

Results

The shop moved fully off paper. Stock is trustworthy across branches, receipts are professional and automatic, and owners finally have a live picture of the business.

100%
paperless intake
3
branches unified
Real-time
stock accuracy

Lessons

Modeling the domain first (orders, parts, warranties as real relations) made every feature after it cheaper. The hard part of a POS isn't the checkout; it's keeping stock honest across places and people.

Next project

DPMPTSP Asset Management