# srivastavaayush084/connect architecture

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

- Interactive diagram: https://gitdiagram.com/srivastavaayush084/connect
- Repository: https://github.com/srivastavaayush084/connect

## Overview

Trendtide Connect is a public-facing influencer-marketing showcase and lead-generation site, rather than a campaign-management backend. Visitors explore the homepage’s platform and creator content, then can start a campaign inquiry; that form sends campaign details to the admin and a confirmation to the brand through EmailJS. About, creator-join, and contact routes provide separate informational and inquiry entry points. The sampled campaign and email code supports the submission flow; other route behavior is inferred only from the tree and README capabilities.

Main entry points: [`src/components/site/SiteLayout.tsx`](https://github.com/srivastavaayush084/connect/blob/main/src/components/site/SiteLayout.tsx) (Site layout), [`src/routes/index.tsx`](https://github.com/srivastavaayush084/connect/blob/main/src/routes/index.tsx) (Home page), [`src/routes/start-campaign.tsx`](https://github.com/srivastavaayush084/connect/blob/main/src/routes/start-campaign.tsx) (Campaign inquiry), [`src/server.ts`](https://github.com/srivastavaayush084/connect/blob/main/src/server.ts) (Request server)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_runtime["Web runtime"]
  node_server["Request server<br/>[server.ts]"]
  node_router["App router<br/>[router.tsx]"]
  node_sitemap["Sitemap response<br/>[sitemap&#91;.&#93;xml.ts]"]
end

subgraph group_discovery["Platform discovery"]
  node_home["Home page<br/>[index.tsx]"]
  node_about["About page<br/>[about.tsx]"]
  node_homecontent["Homepage sections"]
  node_creators["Creator showcase"]
end

subgraph group_inquiries["Lead inquiries"]
  node_creatorjoin["Creator join<br/>[join-creator.tsx]"]
  node_campaign["Campaign inquiry<br/>[start-campaign.tsx]"]
  node_contact["Contact inquiry<br/>[contact.tsx]"]
  node_email["Email notifications<br/>[email.ts]"]
end

subgraph group_shared["Shared site UI"]
  node_layout["Site layout<br/>[SiteLayout.tsx]"]
  node_header["Site header<br/>[Header.tsx]"]
  node_footer["Site footer<br/>[Footer.tsx]"]
end

node_visitor(("Visitor"))
node_emailjs{{"EmailJS"}}

node_visitor -->|"requests pages"| node_server
node_server -->|"delegates request"| node_router
node_visitor -->|"opens site"| node_home
node_visitor -->|"opens about"| node_about
node_visitor -->|"joins as creator"| node_creatorjoin
node_visitor -->|"starts campaign"| node_campaign
node_visitor -->|"sends inquiry"| node_contact
node_visitor -->|"requests sitemap"| node_sitemap
node_home -->|"renders in"| node_layout
node_home -->|"renders sections"| node_homecontent
node_homecontent -->|"shows creator showcase"| node_creators
node_about -->|"renders in"| node_layout
node_creatorjoin -->|"renders in"| node_layout
node_campaign -->|"renders in"| node_layout
node_contact -->|"renders in"| node_layout
node_layout -->|"includes"| node_header
node_layout -->|"includes"| node_footer
node_campaign -->|"sends campaign data"| node_email
node_email -->|"sends messages"| node_emailjs

click node_server "https://github.com/srivastavaayush084/connect/blob/main/src/server.ts"
click node_router "https://github.com/srivastavaayush084/connect/blob/main/src/router.tsx"
click node_home "https://github.com/srivastavaayush084/connect/blob/main/src/routes/index.tsx"
click node_about "https://github.com/srivastavaayush084/connect/blob/main/src/routes/about.tsx"
click node_creatorjoin "https://github.com/srivastavaayush084/connect/blob/main/src/routes/join-creator.tsx"
click node_campaign "https://github.com/srivastavaayush084/connect/blob/main/src/routes/start-campaign.tsx"
click node_contact "https://github.com/srivastavaayush084/connect/blob/main/src/routes/contact.tsx"
click node_email "https://github.com/srivastavaayush084/connect/blob/main/src/lib/email.ts"
click node_layout "https://github.com/srivastavaayush084/connect/blob/main/src/components/site/SiteLayout.tsx"
click node_header "https://github.com/srivastavaayush084/connect/blob/main/src/components/site/Header.tsx"
click node_footer "https://github.com/srivastavaayush084/connect/blob/main/src/components/site/Footer.tsx"
click node_homecontent "https://github.com/srivastavaayush084/connect/tree/main/src/components/site/sections"
click node_creators "https://github.com/srivastavaayush084/connect/blob/main/src/components/site/sections/FeaturedCreators.tsx"
click node_sitemap "https://github.com/srivastavaayush084/connect/blob/main/src/routes/sitemap%5B.%5Dxml.ts"

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_server,node_router,node_sitemap toneBlue
class node_home,node_about,node_homecontent,node_creators toneAmber
class node_creatorjoin,node_campaign,node_contact,node_email toneMint
class node_layout,node_header,node_footer toneRose
class node_visitor,node_emailjs toneIndigo
```

## Components

### Web runtime

- [Request server](https://github.com/srivastavaayush084/connect/blob/main/src/server.ts): `src/server.ts`
- [App router](https://github.com/srivastavaayush084/connect/blob/main/src/router.tsx): `src/router.tsx`
- [Sitemap response](https://github.com/srivastavaayush084/connect/blob/main/src/routes/sitemap%5B.%5Dxml.ts): `src/routes/sitemap[.]xml.ts`

### Platform discovery

- [Home page](https://github.com/srivastavaayush084/connect/blob/main/src/routes/index.tsx): `src/routes/index.tsx`
- [About page](https://github.com/srivastavaayush084/connect/blob/main/src/routes/about.tsx): `src/routes/about.tsx`
- [Homepage sections](https://github.com/srivastavaayush084/connect/tree/main/src/components/site/sections): `src/components/site/sections`
- [Creator showcase](https://github.com/srivastavaayush084/connect/blob/main/src/components/site/sections/FeaturedCreators.tsx): `src/components/site/sections/FeaturedCreators.tsx`

### Lead inquiries

- [Creator join](https://github.com/srivastavaayush084/connect/blob/main/src/routes/join-creator.tsx): `src/routes/join-creator.tsx`
- [Campaign inquiry](https://github.com/srivastavaayush084/connect/blob/main/src/routes/start-campaign.tsx): `src/routes/start-campaign.tsx`
- [Contact inquiry](https://github.com/srivastavaayush084/connect/blob/main/src/routes/contact.tsx): `src/routes/contact.tsx`
- [Email notifications](https://github.com/srivastavaayush084/connect/blob/main/src/lib/email.ts): `src/lib/email.ts`

### Shared site UI

- [Site layout](https://github.com/srivastavaayush084/connect/blob/main/src/components/site/SiteLayout.tsx): `src/components/site/SiteLayout.tsx`
- [Site header](https://github.com/srivastavaayush084/connect/blob/main/src/components/site/Header.tsx): `src/components/site/Header.tsx`
- [Site footer](https://github.com/srivastavaayush084/connect/blob/main/src/components/site/Footer.tsx): `src/components/site/Footer.tsx`

### Other components

- **Visitor**
- **EmailJS**

## Connections

- Visitor → Request server: requests pages
- Request server → App router: delegates request
- Visitor → Home page: opens site
- Visitor → About page: opens about
- Visitor → Creator join: joins as creator
- Visitor → Campaign inquiry: starts campaign
- Visitor → Contact inquiry: sends inquiry
- Visitor → Sitemap response: requests sitemap
- Home page → Site layout: renders in
- Home page → Homepage sections: renders sections
- Homepage sections → Creator showcase: shows creator showcase
- About page → Site layout: renders in
- Creator join → Site layout: renders in
- Campaign inquiry → Site layout: renders in
- Contact inquiry → Site layout: renders in
- Site layout → Site header: includes
- Site layout → Site footer: includes
- Campaign inquiry → Email notifications: sends campaign data
- Email notifications → EmailJS: sends messages
