Graduation
2024Service PlatformAutoFix — 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
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
- 1Customer registers, adds a vehicle, and submits a repair request with description, location, and media
- 2Admin approves technicians and assigns incoming requests
- 3A request moves through PENDING → ASSIGNED → IN_PROGRESS → COMPLETED, or CANCELLED at any point before completion
- 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





