How hasnain833/ai4home-portal works
AI4Home is a multi-tenant warranty-care and sales portal. Users enter either workspace through the Next.js portal, which calls the Express API; the backend handles domain requests and persists data in Postgres. Warranty support spans chat intake and claim/ticket handling, knowledge-base retrieval, scheduling, and ticket reporting. Sales spans lead management, AI-assisted outreach and nurture, CRM sync, and appointments. Inngest runs background work such as KB ingestion and automation. The README documents major capabilities not fully represented in the sampled source; those are shown at subsystem level, with uncertain internal wiring omitted.
Main entry points: app Workspace UI · index.js Serverless API entry · functions Inngest functions · prisma.js Prisma data access
Components 24
Web portal
- Workspace UI
src/app - Embedded widget
src/app/widget.js/route.ts - API client
src/lib/api.ts
Warranty workspace
- Warranty chat
server/src/lib/warranty-orchestrator.js - Tickets and claims
server/src/controllers/tickets.controller.js - Warranty knowledge base
server/src/inngest/functions/warranty-kb-ingest.js - Warranty scheduling
server/src/services/warranty-scheduling.service.js
Sales workspace
- Lead management
server/src/controllers/leads.controller.js - Campaigns and nurture
server/src/controllers/campaigns.controller.js - Automation jobs
server/src/inngest/functions/automation.js - Sales knowledge base
server/src/services/vector-store.service.js - Appointments
server/src/controllers/appointments.controller.js - Salesforce sync
server/src/services/salesforce-sync.js
Backend platform
- Serverless API entry
api/index.js - Express application
server/src/index.js - Route groups
server/src/routes - Request handlers
server/src/controllers - Inngest functions
server/src/inngest/functions - Prisma data access
server/src/lib/prisma.js
External services
- Postgres database
- Supabase Auth
- Salesforce
- Inngest service
Other components
- Portal user
Connections 20
- Portal user → Workspace UI: uses
- Workspace UI → API client: requests data
- API client → Serverless API entry: calls API
- Embedded widget → Serverless API entry: loads branding
- Serverless API entry → Express application: exports app
- Express application → Route groups: mounts routes
- Route groups → Request handlers: dispatches
- Request handlers → Prisma data access: reads and writes
- Prisma data access → Postgres database: queries
- Workspace UI → Supabase Auth: authenticates
- Warranty chat → Tickets and claims: files or escalates
- Tickets and claims → Warranty scheduling: coordinates visits
- Warranty knowledge base → Prisma data access: loads document records
- Warranty knowledge base → Inngest functions: runs as job
- Campaigns and nurture → Sales knowledge base: retrieves context
- Campaigns and nurture → Automation jobs: starts nurture
- Lead management → Salesforce sync: syncs leads
- Salesforce sync → Salesforce: syncs records
- Appointments → Inngest functions: schedules work
- Inngest functions → Inngest service: registers functions