# ooarchitect92/forge architecture

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

- Interactive diagram: https://gitdiagram.com/ooarchitect92/forge
- Repository: https://github.com/ooarchitect92/forge

## Overview

ForgeStudio is a website-building platform with a browser editor and an API supporting identity, AI-assisted design, website documents, publishing, WordPress integration, and organization billing. The main user journey is sign-in, choose an AI, template, or blank-site starting point, edit and save a website, then publish when ready. The README documents product capabilities beyond the sampled implementation; those branches are represented at subsystem level. Source excerpts confirm selected backend calls, while unsampled subsystem links are omitted or marked unverified.

Main entry points: [`frontend/src/pages/dashboard`](https://github.com/ooarchitect92/forge/tree/main/frontend/src/pages/dashboard) (Website chooser), [`backend/src/routes/website.routes.ts`](https://github.com/ooarchitect92/forge/blob/main/backend/src/routes/website.routes.ts) (Website API), [`backend/src/services/websites/save-document.ts`](https://github.com/ooarchitect92/forge/blob/main/backend/src/services/websites/save-document.ts) (Document persistence), [`frontend/src/App.tsx`](https://github.com/ooarchitect92/forge/blob/main/frontend/src/App.tsx) (Web application)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_experience["Web experience"]
  node_frontend["Web application<br/>[App.tsx]"]
  node_chooser["Website chooser"]
  node_editor["Visual editor<br/>[WebsiteEditor.tsx]"]
end

subgraph group_design["Design and content"]
  node_aiui["AI design UI"]
  node_templates["Template library"]
  node_aiworkflow["AI design pipeline<br/>[pipeline.ts]"]
end

subgraph group_platform["Platform services"]
  node_websiteapi["Website API<br/>[website.routes.ts]"]
  node_websites["Website service<br/>[website.service.ts]"]
  node_documents["Document persistence<br/>[save-document.ts]"]
  node_auth["Session authentication<br/>[auth.middleware.ts]"]
  node_database[("PostgreSQL access<br/>[prisma.ts]")]
  node_identity["Identity flows"]
  node_billing["Organization billing<br/>[billing.routes.ts]"]
end

subgraph group_operations["Delivery and operations"]
  node_publishing["Publishing"]
  node_wordpress["WordPress integration"]
  node_wpconnector["WordPress connector"]
  node_media["File storage<br/>[file.service.ts]"]
  node_control["Platform control<br/>[routes.ts]"]
end

node_user(("Website builder"))
node_stripe["Stripe"]

node_user -->|"uses"| node_frontend
node_frontend -->|"routes to"| node_chooser
node_user -->|"chooses site"| node_chooser
node_chooser -->|"opens AI design"| node_aiui
node_chooser -->|"opens templates"| node_templates
node_chooser -->|"opens blank editor"| node_editor
node_aiui -.->|"requests generation"| node_aiworkflow
node_aiworkflow -->|"authorizes writes"| node_documents
node_editor -.->|"saves site"| node_websiteapi
node_websiteapi -->|"requires session"| node_auth
node_websiteapi -.->|"dispatches handlers"| node_websites
node_websites -->|"saves document"| node_documents
node_documents -.->|"persists data"| node_database
node_user -->|"signs in"| node_identity
node_user -->|"manages billing"| node_billing
node_billing -.->|"processes payments"| node_stripe
node_user -->|"publishes site"| node_publishing
node_user -->|"integrates WordPress"| node_wordpress
node_wordpress -->|"calls connector"| node_wpconnector
node_user -.->|"uploads files"| node_media
node_user -->|"administers platform"| node_control

click node_frontend "https://github.com/ooarchitect92/forge/blob/main/frontend/src/App.tsx"
click node_chooser "https://github.com/ooarchitect92/forge/tree/main/frontend/src/pages/dashboard"
click node_editor "https://github.com/ooarchitect92/forge/blob/main/frontend/src/pages/editor/WebsiteEditor.tsx"
click node_aiui "https://github.com/ooarchitect92/forge/blob/main/frontend/src/features/ai/DesignAssistant.tsx"
click node_templates "https://github.com/ooarchitect92/forge/tree/main/frontend/src/features/templates"
click node_aiworkflow "https://github.com/ooarchitect92/forge/blob/main/backend/src/modules/ai/design/pipeline.ts"
click node_websiteapi "https://github.com/ooarchitect92/forge/blob/main/backend/src/routes/website.routes.ts"
click node_websites "https://github.com/ooarchitect92/forge/blob/main/backend/src/services/website.service.ts"
click node_documents "https://github.com/ooarchitect92/forge/blob/main/backend/src/services/websites/save-document.ts"
click node_auth "https://github.com/ooarchitect92/forge/blob/main/backend/src/middlewares/auth.middleware.ts"
click node_database "https://github.com/ooarchitect92/forge/blob/main/backend/src/config/prisma.ts"
click node_identity "https://github.com/ooarchitect92/forge/tree/main/backend/src/modules/identity"
click node_billing "https://github.com/ooarchitect92/forge/blob/main/backend/src/services/billing/billing.routes.ts"
click node_publishing "https://github.com/ooarchitect92/forge/blob/main/backend/src/services/publishing.service.ts"
click node_wordpress "https://github.com/ooarchitect92/forge/blob/main/backend/src/controllers/wordpress.controller.ts"
click node_wpconnector "https://github.com/ooarchitect92/forge/blob/main/backend/src/services/wordpress/connector.service.ts"
click node_media "https://github.com/ooarchitect92/forge/blob/main/backend/src/modules/files/file.service.ts"
click node_control "https://github.com/ooarchitect92/forge/blob/main/backend/src/platform/control/routes.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_frontend,node_chooser,node_editor toneBlue
class node_aiui,node_templates,node_aiworkflow toneAmber
class node_websiteapi,node_websites,node_documents,node_auth,node_database,node_identity,node_billing toneMint
class node_publishing,node_wordpress,node_wpconnector,node_media,node_control toneRose
class node_user,node_stripe toneIndigo
```

## Components

### Web experience

- [Web application](https://github.com/ooarchitect92/forge/blob/main/frontend/src/App.tsx): `frontend/src/App.tsx`
- [Website chooser](https://github.com/ooarchitect92/forge/tree/main/frontend/src/pages/dashboard): `frontend/src/pages/dashboard`
- [Visual editor](https://github.com/ooarchitect92/forge/blob/main/frontend/src/pages/editor/WebsiteEditor.tsx): `frontend/src/pages/editor/WebsiteEditor.tsx`

### Design and content

- [AI design UI](https://github.com/ooarchitect92/forge/blob/main/frontend/src/features/ai/DesignAssistant.tsx): `frontend/src/features/ai/DesignAssistant.tsx`
- [Template library](https://github.com/ooarchitect92/forge/tree/main/frontend/src/features/templates): `frontend/src/features/templates`
- [AI design pipeline](https://github.com/ooarchitect92/forge/blob/main/backend/src/modules/ai/design/pipeline.ts): `backend/src/modules/ai/design/pipeline.ts`

### Platform services

- [Website API](https://github.com/ooarchitect92/forge/blob/main/backend/src/routes/website.routes.ts): `backend/src/routes/website.routes.ts`
- [Website service](https://github.com/ooarchitect92/forge/blob/main/backend/src/services/website.service.ts): `backend/src/services/website.service.ts`
- [Document persistence](https://github.com/ooarchitect92/forge/blob/main/backend/src/services/websites/save-document.ts): `backend/src/services/websites/save-document.ts`
- [Session authentication](https://github.com/ooarchitect92/forge/blob/main/backend/src/middlewares/auth.middleware.ts): `backend/src/middlewares/auth.middleware.ts`
- [PostgreSQL access](https://github.com/ooarchitect92/forge/blob/main/backend/src/config/prisma.ts): `backend/src/config/prisma.ts`
- [Identity flows](https://github.com/ooarchitect92/forge/tree/main/backend/src/modules/identity): `backend/src/modules/identity`
- [Organization billing](https://github.com/ooarchitect92/forge/blob/main/backend/src/services/billing/billing.routes.ts): `backend/src/services/billing/billing.routes.ts`

### Delivery and operations

- [Publishing](https://github.com/ooarchitect92/forge/blob/main/backend/src/services/publishing.service.ts): `backend/src/services/publishing.service.ts`
- [WordPress integration](https://github.com/ooarchitect92/forge/blob/main/backend/src/controllers/wordpress.controller.ts): `backend/src/controllers/wordpress.controller.ts`
- [WordPress connector](https://github.com/ooarchitect92/forge/blob/main/backend/src/services/wordpress/connector.service.ts): `backend/src/services/wordpress/connector.service.ts`
- [File storage](https://github.com/ooarchitect92/forge/blob/main/backend/src/modules/files/file.service.ts): `backend/src/modules/files/file.service.ts`
- [Platform control](https://github.com/ooarchitect92/forge/blob/main/backend/src/platform/control/routes.ts): `backend/src/platform/control/routes.ts`

### Other components

- **Website builder**
- **Stripe**

## Connections

- Website builder → Web application: uses (evidence: `README.md`)
- Web application → Website chooser: routes to (evidence: `frontend/src/App.tsx`)
- Website builder → Website chooser: chooses site (evidence: `README.md`)
- Website chooser → AI design UI: opens AI design (evidence: `README.md`)
- Website chooser → Template library: opens templates (evidence: `README.md`)
- Website chooser → Visual editor: opens blank editor (evidence: `README.md`)
- AI design UI → AI design pipeline: requests generation
- AI design pipeline → Document persistence: authorizes writes (evidence: `backend/src/modules/ai/design/pipeline.ts`)
- Visual editor → Website API: saves site
- Website API → Session authentication: requires session (evidence: `backend/src/routes/website.routes.ts`)
- Website API → Website service: dispatches handlers
- Website service → Document persistence: saves document (evidence: `backend/src/services/website.service.ts`)
- Document persistence → PostgreSQL access: persists data
- Website builder → Identity flows: signs in (evidence: `README.md`)
- Website builder → Organization billing: manages billing (evidence: `backend/src/services/billing/billing.routes.ts`)
- Organization billing → Stripe: processes payments
- Website builder → Publishing: publishes site (evidence: `README.md`)
- Website builder → WordPress integration: integrates WordPress (evidence: `backend/src/controllers/wordpress.controller.ts`)
- WordPress integration → WordPress connector: calls connector (evidence: `backend/src/controllers/wordpress.controller.ts`)
- Website builder → File storage: uploads files
- Website builder → Platform control: administers platform (evidence: `backend/src/platform/control/routes.ts`)
