Logo
Graduation
2024Service Platform

AutoFix — Car Service

Business software for managing vehicle repair requests, technicians, spare parts, orders, and payments in one workspace — role-based dashboards for customers, technicians, and admins.

BunNext.js 16React 19TypeScriptPrismaSQLiteTailwind CSSshadcn/ui

Screens

AutoFix — Car Service screenshot 1
AutoFix — Car Service screenshot 2
AutoFix — Car Service screenshot 3
AutoFix — Car Service screenshot 4
AutoFix — Car Service screenshot 5

The Business Problem

Vehicle service businesses need to coordinate customers submitting repair requests, technicians completing them, spare-parts inventory and ordering, and payments — all in one place, with clear approval and assignment workflows.

My Responsibilities

Sole developer: designed the Prisma schema, built all three role-based dashboards (customer/technician/admin), and implemented the repair lifecycle plus the parts/orders/payments system.

Main Workflows

  1. 1Customer registers, adds a vehicle, and submits a repair request with description, location, and media
  2. 2Admin approves technicians and assigns incoming requests
  3. 3A request moves through PENDING → ASSIGNED → IN_PROGRESS → COMPLETED, or CANCELLED at any point before completion
  4. 4Customer can also browse the spare-parts catalog, place orders, and leave a rating/review for the technician

Tech Stack & Architecture

Modular Next.js 16 monolith — pages and API route handlers run in the same deployable process
Prisma provides the persistence boundary over SQLite, suitable for dev and small deployments; a managed DB would be evaluated for higher concurrency
Role-based dashboards (Customer / Technician / Admin) under separate route groups, each with server-side authorization checks
shadcn/ui + Radix UI primitives for accessible components, TanStack Query and Zustand for client state, Caddy as the reverse proxy in front of the standalone Next.js build

Security & Deployment

Server-side authorization verified on every role-sensitive route, not just hidden in the UI
Ownership validation before allowing access to vehicles, repairs, orders, uploads, or payments
Upload type/size validation with controlled access
Password hashing with a current strategy, secrets rotated through a secret manager — .env files, credentials, and DB files never committed
Next.js standalone production build behind Caddy, with TLS, backups, and health checks expected before go-live