How a-sobhy/cemtrix works
This is a CEMTRIX AI-services marketing site with server-side contact and service-enquiry endpoints. The clearest evidenced workflow is browsing service offerings, opening a service-specific enquiry drawer, submitting it through the client mutation and API route, and receiving a confirmation. Contact submission follows a parallel endpoint path. Several page compositions and service-processing internals were not sampled, so uncertain links are omitted.
Main entry points: contact/route.ts Contact endpoint · service/route.ts Service endpoint · axios.ts API client · Services.tsx Services display
Components 20
Site experience
- App layout
src/app/layout.tsx - Home page
src/app/page.tsx - About page
src/app/about/page.tsx - About content
src/app/about/AboutClient.tsx - Services display
src/components/Services.tsx - Service catalog
src/data/services.ts - Product detail
src/app/products/[id]/page.tsx
Enquiry flows
- Contact form
src/components/ContactForm.tsx - Service drawer
src/components/ServiceDrawer.tsx - Contact mutation
src/hooks/useContact.ts - Service mutation
src/hooks/useServiceEnquiry.ts - API client
src/lib/axios.ts
Contact backend
- Contact endpoint
src/app/api/contact/route.ts - Service endpoint
src/app/api/contact/service/route.ts - Contact processing
src/app/api/contact/contact.service.ts - Contact validation
src/app/api/contact/dto/contact.dto.ts - Service validation
src/app/api/contact/dto/contact-service.dto.ts - Mail service
src/app/api/mail/mail.service.ts
Other components
- Visitor
- SMTP transport
Connections 19
- Visitor → Home page: opens
- Visitor → About page: opens
- Services display → Service catalog: reads
- Services display → Service drawer: opens
- Visitor → Services display: browses
- Visitor → Product detail: opens
- Contact form → Contact mutation: submits
- Service drawer → Service mutation: submits
- Contact mutation → API client: posts
- Service mutation → API client: posts
- API client → Contact endpoint: requests
- API client → Service endpoint: requests
- Contact endpoint → Contact validation: validates
- Contact endpoint → Contact processing: invokes
- Contact endpoint → Mail service: constructs
- Service endpoint → Service validation: validates
- Service endpoint → Contact processing: invokes
- Service endpoint → Mail service: constructs
- Mail service → SMTP transport: sends mail