
ROLE
Full Stack Developer
STATUS
Complete
CATEGORY
Full Stack
Fixora
2026Home Repair Service Booking Platform
A full-stack Next.js app that connects homeowners with technicians for plumbing, electrical, AC repair, fan repair, painting, and appliance repair. Customers browse services, submit a request through a guided multi-step form, and track its progress live as admins review, schedule, and complete it. Built as a two-sided platform with separate customer and admin dashboards sharing one codebase, one database, and one role-based auth system.
Key Features
- –Credential-based authentication with NextAuth (JWT sessions) and bcrypt password hashing, with User and Admin roles walled off from each other's routes
- –Service catalog with categories, pricing, and estimated duration for each service
- –4-step request wizard: service details → schedule → photo upload → review & submit
- –Cloudinary photo uploads (up to 5 images per request, JPG/PNG/WEBP under 5MB), validated on both client and server
- –Live request tracking with Server-Sent Events: status, schedule, price, and admin notes update instantly without refresh or polling
- –Server-validated status workflow (Pending → Under Review → Approved → Scheduled → In Progress → Completed) that blocks skipped steps and requires a final price before completion
- –Full status-change audit trail for every request, recording who changed it and when
- –Query-level caching with unstable_cache for read-heavy data, cutting a cold service-detail load from ~870ms to ~35ms
- –Custom error, loading, and 404 pages, plus scroll-reveal and micro-interaction animations with Framer Motion
Dashboard
- –Customer summary cards for Active Requests, Completed, Pending, and Total Spent
- –Ongoing Requests list with a 'View All' link to the full request history
- –Request detail page with a live progress timeline and price details
- –Admin summary cards for Total Requests, Pending, Completed, and Total Revenue
- –Request Overview chart showing request volume over the last 7 days, built with custom SVG
- –Request Status donut chart breaking down requests across every status
- –Admin request management with search, status filtering, and a Recent Requests panel
- –All stats calculated dynamically from live database data, not hardcoded
Built With
- Next.js
- React
- TypeScript
- Tailwind CSS
- DaisyUI
- Framer Motion
- React Hook Form
- PostgreSQL
- Supabase
- Prisma
- NextAuth
- Cloudinary
- Server-Sent Events
- Vercel