# imhogen24/imho-heavy-covert architecture

> Architecture diagram of the GitHub repository imhogen24/imho-heavy-covert, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/imhogen24/imho-heavy-covert
- Repository: https://github.com/imhogen24/imho-heavy-covert

## Overview

This is a Next.js website for an engineering-services business: it presents company and service information, publishes blog content, and offers request forms for CAD/draftwork, process improvement, product development, and engineering support. The main user workflow is choosing a service, submitting a request, and receiving an emailed request/confirmation; form previews also provide PDF downloads. The tree supports these capabilities, but most page and action wiring is unsampled, so uncertain call relationships are omitted.

Main entry points: [`src/app/(services)/services`](https://github.com/imhogen24/imho-heavy-covert/tree/main/src/app/(services)/services) (Service pages), [`src/app/(services)/_components/pdf/docs.tsx`](https://github.com/imhogen24/imho-heavy-covert/blob/main/src/app/(services)/_components/pdf/docs.tsx) (PDF documents), [`src/app/(blog)/blog`](https://github.com/imhogen24/imho-heavy-covert/tree/main/src/app/(blog)/blog) (Blog pages), [`src/app/(services)/_components/modules/cad/preview.tsx`](https://github.com/imhogen24/imho-heavy-covert/blob/main/src/app/(services)/_components/modules/cad/preview.tsx) (CAD preview and PDF)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_site["Company website"]
  node_home["Home and company<br/>[page.tsx]"]
  node_trade["Trade Tech pages<br/>[page.tsx]"]
  node_contact["Footer contact form<br/>[contact-form.tsx]"]
  node_cookie_consent["Cookie consent<br/>[consent.tsx]"]
end

subgraph group_requests["Service requests"]
  node_service_pages["Service pages"]
  node_cad_form["CAD request form<br/>[form.tsx]"]
  node_process_form["Process request form<br/>[form.tsx]"]
  node_product_form["Product request form<br/>[form.tsx]"]
  node_support_form["Support request form<br/>[form.tsx]"]
  node_actions["Request actions<br/>[action.ts]"]
  node_emails["Request email templates"]
  node_cad_preview["CAD preview and PDF<br/>[preview.tsx]"]
  node_process_preview["Process preview and PDF<br/>[preview.tsx]"]
  node_product_preview["Product preview and PDF<br/>[preview.tsx]"]
  node_support_preview["Support preview and PDF<br/>[preview.tsx]"]
  node_pdf_docs["PDF documents<br/>[docs.tsx]"]
end

subgraph group_content["Editorial content"]
  node_blog["Blog pages"]
  node_notion["Notion content client<br/>[notion.ts]"]
end

subgraph group_platform["External services"]
  node_resend["Resend email service"]
  node_upload_api["File upload endpoint<br/>[route.ts]"]
  node_upload_service["UploadThing service"]
end

node_visitor(("Site visitor"))

node_visitor -->|"opens"| node_home
node_visitor -->|"opens"| node_trade
node_visitor -->|"chooses service"| node_service_pages
node_visitor -->|"opens"| node_blog
node_visitor -->|"contacts"| node_contact
node_visitor -->|"sets preferences"| node_cookie_consent
node_service_pages -->|"offers"| node_cad_form
node_service_pages -->|"offers"| node_process_form
node_service_pages -->|"offers"| node_product_form
node_service_pages -->|"offers"| node_support_form
node_cad_preview -->|"renders PDF"| node_pdf_docs
node_process_preview -->|"renders PDF"| node_pdf_docs
node_product_preview -->|"renders PDF"| node_pdf_docs
node_support_preview -->|"renders PDF"| node_pdf_docs
node_upload_api -->|"dispatches uploads"| node_upload_service
node_blog -->|"loads content"| node_notion

click node_home "https://github.com/imhogen24/imho-heavy-covert/blob/main/src/app/(home)/page.tsx"
click node_trade "https://github.com/imhogen24/imho-heavy-covert/blob/main/src/app/(shop)/trade-tech/page.tsx"
click node_service_pages "https://github.com/imhogen24/imho-heavy-covert/tree/main/src/app/(services)/services"
click node_cad_form "https://github.com/imhogen24/imho-heavy-covert/blob/main/src/app/(services)/_components/modules/cad/form.tsx"
click node_process_form "https://github.com/imhogen24/imho-heavy-covert/blob/main/src/app/(services)/_components/modules/process/form.tsx"
click node_product_form "https://github.com/imhogen24/imho-heavy-covert/blob/main/src/app/(services)/_components/modules/product/form.tsx"
click node_support_form "https://github.com/imhogen24/imho-heavy-covert/blob/main/src/app/(services)/_components/modules/support/form.tsx"
click node_actions "https://github.com/imhogen24/imho-heavy-covert/blob/main/src/actions/action.ts"
click node_emails "https://github.com/imhogen24/imho-heavy-covert/tree/main/src/components/emails"
click node_cad_preview "https://github.com/imhogen24/imho-heavy-covert/blob/main/src/app/(services)/_components/modules/cad/preview.tsx"
click node_process_preview "https://github.com/imhogen24/imho-heavy-covert/blob/main/src/app/(services)/_components/modules/process/preview.tsx"
click node_product_preview "https://github.com/imhogen24/imho-heavy-covert/blob/main/src/app/(services)/_components/modules/product/preview.tsx"
click node_support_preview "https://github.com/imhogen24/imho-heavy-covert/blob/main/src/app/(services)/_components/modules/support/preview.tsx"
click node_pdf_docs "https://github.com/imhogen24/imho-heavy-covert/blob/main/src/app/(services)/_components/pdf/docs.tsx"
click node_upload_api "https://github.com/imhogen24/imho-heavy-covert/blob/main/src/app/api/uploadthing/route.ts"
click node_blog "https://github.com/imhogen24/imho-heavy-covert/tree/main/src/app/(blog)/blog"
click node_notion "https://github.com/imhogen24/imho-heavy-covert/blob/main/src/lib/notion.ts"
click node_contact "https://github.com/imhogen24/imho-heavy-covert/blob/main/src/components/layout/footer/contact-form.tsx"
click node_cookie_consent "https://github.com/imhogen24/imho-heavy-covert/blob/main/context/cookies/consent.tsx"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_home,node_trade,node_contact,node_cookie_consent toneBlue
class node_service_pages,node_cad_form,node_process_form,node_product_form,node_support_form,node_actions,node_emails,node_cad_preview,node_process_preview,node_product_preview,node_support_preview,node_pdf_docs toneAmber
class node_blog,node_notion toneMint
class node_resend,node_upload_api,node_upload_service toneRose
class node_visitor toneIndigo
```

## Components

### Company website

- [Home and company](https://github.com/imhogen24/imho-heavy-covert/blob/main/src/app/(home)/page.tsx): `src/app/(home)/page.tsx`
- [Trade Tech pages](https://github.com/imhogen24/imho-heavy-covert/blob/main/src/app/(shop)/trade-tech/page.tsx): `src/app/(shop)/trade-tech/page.tsx`
- [Footer contact form](https://github.com/imhogen24/imho-heavy-covert/blob/main/src/components/layout/footer/contact-form.tsx): `src/components/layout/footer/contact-form.tsx`
- [Cookie consent](https://github.com/imhogen24/imho-heavy-covert/blob/main/context/cookies/consent.tsx): `context/cookies/consent.tsx`

### Service requests

- [Service pages](https://github.com/imhogen24/imho-heavy-covert/tree/main/src/app/(services)/services): `src/app/(services)/services`
- [CAD request form](https://github.com/imhogen24/imho-heavy-covert/blob/main/src/app/(services)/_components/modules/cad/form.tsx): `src/app/(services)/_components/modules/cad/form.tsx`
- [Process request form](https://github.com/imhogen24/imho-heavy-covert/blob/main/src/app/(services)/_components/modules/process/form.tsx): `src/app/(services)/_components/modules/process/form.tsx`
- [Product request form](https://github.com/imhogen24/imho-heavy-covert/blob/main/src/app/(services)/_components/modules/product/form.tsx): `src/app/(services)/_components/modules/product/form.tsx`
- [Support request form](https://github.com/imhogen24/imho-heavy-covert/blob/main/src/app/(services)/_components/modules/support/form.tsx): `src/app/(services)/_components/modules/support/form.tsx`
- [Request actions](https://github.com/imhogen24/imho-heavy-covert/blob/main/src/actions/action.ts): `src/actions/action.ts`
- [Request email templates](https://github.com/imhogen24/imho-heavy-covert/tree/main/src/components/emails): `src/components/emails`
- [CAD preview and PDF](https://github.com/imhogen24/imho-heavy-covert/blob/main/src/app/(services)/_components/modules/cad/preview.tsx): `src/app/(services)/_components/modules/cad/preview.tsx`
- [Process preview and PDF](https://github.com/imhogen24/imho-heavy-covert/blob/main/src/app/(services)/_components/modules/process/preview.tsx): `src/app/(services)/_components/modules/process/preview.tsx`
- [Product preview and PDF](https://github.com/imhogen24/imho-heavy-covert/blob/main/src/app/(services)/_components/modules/product/preview.tsx): `src/app/(services)/_components/modules/product/preview.tsx`
- [Support preview and PDF](https://github.com/imhogen24/imho-heavy-covert/blob/main/src/app/(services)/_components/modules/support/preview.tsx): `src/app/(services)/_components/modules/support/preview.tsx`
- [PDF documents](https://github.com/imhogen24/imho-heavy-covert/blob/main/src/app/(services)/_components/pdf/docs.tsx): `src/app/(services)/_components/pdf/docs.tsx`

### Editorial content

- [Blog pages](https://github.com/imhogen24/imho-heavy-covert/tree/main/src/app/(blog)/blog): `src/app/(blog)/blog`
- [Notion content client](https://github.com/imhogen24/imho-heavy-covert/blob/main/src/lib/notion.ts): `src/lib/notion.ts`

### External services

- **Resend email service**
- [File upload endpoint](https://github.com/imhogen24/imho-heavy-covert/blob/main/src/app/api/uploadthing/route.ts): `src/app/api/uploadthing/route.ts`
- **UploadThing service**

### Other components

- **Site visitor**

## Connections

- Site visitor → Home and company: opens
- Site visitor → Trade Tech pages: opens
- Site visitor → Service pages: chooses service
- Site visitor → Blog pages: opens
- Site visitor → Footer contact form: contacts
- Site visitor → Cookie consent: sets preferences
- Service pages → CAD request form: offers
- Service pages → Process request form: offers
- Service pages → Product request form: offers
- Service pages → Support request form: offers
- CAD preview and PDF → PDF documents: renders PDF
- Process preview and PDF → PDF documents: renders PDF
- Product preview and PDF → PDF documents: renders PDF
- Support preview and PDF → PDF documents: renders PDF
- File upload endpoint → UploadThing service: dispatches uploads
- Blog pages → Notion content client: loads content
