How jmdec/hero works
This is a serviced-office website and customer portal, with public inquiry and quotation submission, account verification, chat, and administrative management. The clearest evidenced workflow is inquiry submission: the contact API routes inquiries to a backend and uses routing rules and mail delivery helpers for notifications. Quotation handling similarly forwards submissions and triggers document/email work. The tree also shows payment, contract, announcements, testimonials, and virtual-tour capabilities. Source evidence is partial, so links for unsampled pages and handlers are intentionally omitted.
Main entry points: nodemailer.ts Quotation notifications · contact/route.ts Contact API · email-history/route.ts Transcript email · quotations Quotation endpoints
Components 22
Inquiries & Chat
- Contact API
src/app/api/contact/route.ts - Inquiry routing
src/lib/contactInquiryRouting.ts - Chat widget
src/components/Chatbot.tsx - Chat API client
src/lib/chatApi.ts - Chat endpoints
src/app/api/chat - Transcript email
src/app/api/chat/[conversationId]/email-history/route.ts
Sales & Documents
- Quotation endpoints
src/app/api/quotations - VO contract view
src/components/contracts/VOContract.tsx - VO contract document
src/components/contracts/VOContractDocument.tsx - Guideline fields
src/lib/guidelineFields.ts - Guideline document
src/components/guidelines/GuidelineDocument.tsx - Guideline PDF
src/lib/guidelinePdf.ts - Document types
src/lib/documentType.ts
Accounts
- Authentication endpoints
src/app/api/auth - Registration handler
src/app/api/auth/register/route.ts
Website Experience
- Public pages
src/app - Admin pages
src/app/admin - Panorama viewer
src/components/PanoramaViewer.tsx
Shared Services
- Mail delivery
src/lib/mailer.ts - Quotation notifications
src/lib/nodemailer.ts
Other components
- Website visitor
- Laravel API
Connections 17
- Website visitor → Contact API: submits inquiry
src/app/api/contact/route.ts - Contact API → Laravel API: forwards inquiry
src/app/api/contact/route.ts - Contact API → Inquiry routing: resolves recipients
src/app/api/contact/route.ts - Contact API → Mail delivery: sends notifications
src/app/api/contact/route.ts - Chat widget → Chat API client: uses client
src/components/Chatbot.tsx - Transcript email → Laravel API: fetches conversation
src/app/api/chat/[conversationId]/email-history/route.ts - Transcript email → Mail delivery: emails transcript
src/app/api/chat/[conversationId]/email-history/route.ts - Quotation endpoints → Laravel API: forwards quotations
src/app/api/quotations/route.ts - Quotation endpoints → Quotation notifications: sends notifications
src/app/api/quotations/route.ts - Registration handler → Laravel API: registers account
src/app/api/auth/register/route.ts - Registration handler → Quotation notifications: sends verification
src/app/api/auth/register/route.ts - VO contract view → VO contract document: renders document
src/components/contracts/VOContract.tsx - Guideline document → Guideline fields: uses fields
src/components/guidelines/GuidelineDocument.tsx - Guideline PDF → Guideline fields: maps fields
src/lib/guidelinePdf.ts - Quotation notifications → VO contract document: maps contract
src/lib/nodemailer.ts - Quotation notifications → Guideline PDF: generates PDF
src/lib/nodemailer.ts - Quotation notifications → Document types: selects type
src/lib/nodemailer.ts