A full-stack real estate inspection marketplace built with Next.js 14, TypeScript, Prisma, and PostgreSQL.
- Frontend: Next.js 14 App Router, React 18, TypeScript, Tailwind CSS, shadcn/ui
- 3D: Three.js, React Three Fiber, Drei
- Audio: Howler.js for ambient background music
- Database: PostgreSQL 17 + Prisma ORM (20 models, 15 enums)
- Fonts: Cormorant Garamond (display) + Inter (body)
- Theme: Dark navy (#0a0c10) + Gold (#c9a24a) luxury design
- 4 user roles: Client, Inspector, Realtor, Admin
- Full booking workflow with pricing engine
- AI-powered property scans
- Chat & negotiation system
- Stripe Connect payments, inspector payouts, realtor commissions
- 3D animated hero scene with floating house model
- Ambient background music with mute/unmute toggle
- Responsive luxury dark theme
npm install --legacy-peer-deps# Create database
createdb dwellscan
# Or use Docker:
docker run -d --name dwellscan-db -e POSTGRES_DB=dwellscan -e POSTGRES_USER=dwellscan -e POSTGRES_PASSWORD=dwellscan123 -p 5432:5432 postgres:17Create .env file:
DATABASE_URL="postgresql://dwellscan:dwellscan123@localhost:5432/dwellscan"
NEXTAUTH_SECRET="your-secret-here"
STRIPE_SECRET_KEY="sk_test_..."
STRIPE_PUBLISHABLE_KEY="pk_test_..."
npx prisma db push
npx prisma db seednpm run dev- Admin: admin@dwellscan.com
- Inspector: james.wilson@example.com
- Client: michael.johnson@example.com
- Realtor: lisa.martinez@example.com
dwellscan/
├── prisma/ # Schema + seed data
├── public/ # Static assets (ambient.mp3)
├── src/
│ ├── app/ # Next.js App Router pages & API routes
│ │ ├── (auth)/ # Login & Register
│ │ ├── (dashboard)/ # Role-based dashboards
│ │ ├── (public)/ # Marketplace, Pricing, About
│ │ └── api/ # REST API endpoints
│ ├── components/ # React components
│ │ ├── 3d/ # Three.js hero scene
│ │ ├── layout/ # Dashboard layout
│ │ ├── shared/ # Music player, etc.
│ │ └── ui/ # shadcn/ui components
│ ├── lib/ # Utilities (Prisma client, auth, etc.)
│ └── middleware.ts # Auth middleware
├── proxy-server.js # Express proxy for deployment
└── postbuild.sh # Post-build CSS/JS fix script