# projectfasberry/atlas architecture

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

- Interactive diagram: https://gitdiagram.com/projectfasberry/atlas
- Repository: https://github.com/projectfasberry/atlas

## Overview

Fasberry is a three-app monorepo: Minotaur is the game community app, Taurus the public landing site, and Wiki the documentation site. The tree and README establish those product areas; sampled source confirms specific client-side data flows for Minotaur tasks and storage and Taurus landing/status displays. Wiki routes and other app capabilities are retained as directory-level subsystem nodes because their implementation was not sampled; relationships without evidence are omitted.

Main entry points: [`apps/taurus/pages/index/+Page.tsx`](https://github.com/projectfasberry/atlas/blob/main/apps/taurus/pages/index/%2BPage.tsx) (Home Experience), [`apps/taurus/pages/status/+Page.tsx`](https://github.com/projectfasberry/atlas/blob/main/apps/taurus/pages/status/%2BPage.tsx) (Server Status Page), [`apps/minotaur/shared/components/app/tasks/models/tasks.model.ts`](https://github.com/projectfasberry/atlas/blob/main/apps/minotaur/shared/components/app/tasks/models/tasks.model.ts) (Tasks Data Model), [`apps/minotaur/shared/components/app/private/models/storage.model.ts`](https://github.com/projectfasberry/atlas/blob/main/apps/minotaur/shared/components/app/private/models/storage.model.ts) (Storage Data Model)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_minotaur["Minotaur App"]
  node_minotaur_pages["Community Pages"]
  node_auth["Authentication"]
  node_player_land["Players &amp; Lands"]
  node_news_ratings["News &amp; Ratings"]
  node_store["Store &amp; Orders"]
  node_private_admin["Admin Console"]
  node_tasks_view["Tasks View<br/>[tasks.tsx]"]
  node_tasks_model["Tasks Data Model<br/>[tasks.model.ts]"]
  node_storage_view["Storage Browser<br/>[storage.tsx]"]
  node_storage_model["Storage Data Model<br/>[storage.model.ts]"]
  node_minotaur_client["API Clients<br/>[client.ts]"]
  node_minotaur_renderer["Page Rendering<br/>[+server.ts]"]
end

subgraph group_taurus["Taurus Landing"]
  node_taurus_pages["Landing Pages"]
  node_taurus_home["Home Experience<br/>[+Page.tsx]"]
  node_gameplay["Gameplay Showcase<br/>[gameplay.tsx]"]
  node_spawn["Spawn Carousel<br/>[spawn-carousel.tsx]"]
  node_taurus_status["Server Status Page<br/>[+Page.tsx]"]
  node_status_view["Status Display<br/>[server-status.tsx]"]
  node_status_model["Status Data Model"]
  node_taurus_client["API Client<br/>[client.ts]"]
  node_taurus_renderer["Page Rendering<br/>[+server.ts]"]
end

subgraph group_wiki["Wiki Site"]
  node_wiki_pages["Wiki Articles<br/>[page.tsx]"]
  node_wiki_api["Wiki API Routes"]
  node_wiki_content["Content Services"]
  node_wiki_database[("Wiki Database")]
  node_wiki_auth["Wiki Authentication<br/>[auth.ts]"]
end

subgraph group_shared["Shared UI"]
  node_ui_avatar["Avatar Component<br/>[avatar.tsx]"]
end

node_visitor(("Visitor"))

node_visitor -->|"requests pages"| node_minotaur_renderer
node_visitor -->|"requests pages"| node_taurus_renderer
node_visitor -->|"reads articles"| node_wiki_pages
node_tasks_view -->|"reads and fetches"| node_tasks_model
node_tasks_model -->|"requests task list"| node_minotaur_client
node_storage_view -->|"creates and dispatches"| node_storage_model
node_storage_model -->|"requests bucket data"| node_minotaur_client
node_taurus_home -->|"renders"| node_gameplay
node_taurus_home -->|"renders"| node_spawn
node_taurus_status -->|"renders"| node_status_view
node_taurus_status -->|"reads status"| node_status_model
node_status_model -.->|"uses client"| node_taurus_client
node_wiki_pages -.->|"uses content"| node_wiki_content
node_wiki_api -.->|"accesses data"| node_wiki_database

click node_minotaur_pages "https://github.com/projectfasberry/atlas/tree/main/apps/minotaur/pages"
click node_auth "https://github.com/projectfasberry/atlas/tree/main/apps/minotaur/shared/components/app/auth"
click node_player_land "https://github.com/projectfasberry/atlas/tree/main/apps/minotaur/shared/components/app/player"
click node_news_ratings "https://github.com/projectfasberry/atlas/tree/main/apps/minotaur/shared/components/app/news"
click node_store "https://github.com/projectfasberry/atlas/tree/main/apps/minotaur/shared/components/app/shop"
click node_private_admin "https://github.com/projectfasberry/atlas/tree/main/apps/minotaur/shared/components/app/private"
click node_tasks_view "https://github.com/projectfasberry/atlas/blob/main/apps/minotaur/shared/components/app/tasks/components/tasks.tsx"
click node_tasks_model "https://github.com/projectfasberry/atlas/blob/main/apps/minotaur/shared/components/app/tasks/models/tasks.model.ts"
click node_storage_view "https://github.com/projectfasberry/atlas/blob/main/apps/minotaur/shared/components/app/private/components/storage.tsx"
click node_storage_model "https://github.com/projectfasberry/atlas/blob/main/apps/minotaur/shared/components/app/private/models/storage.model.ts"
click node_minotaur_client "https://github.com/projectfasberry/atlas/blob/main/apps/minotaur/shared/api/client.ts"
click node_minotaur_renderer "https://github.com/projectfasberry/atlas/blob/main/apps/minotaur/renderer/%2Bserver.ts"
click node_taurus_pages "https://github.com/projectfasberry/atlas/tree/main/apps/taurus/pages"
click node_taurus_home "https://github.com/projectfasberry/atlas/blob/main/apps/taurus/pages/index/%2BPage.tsx"
click node_gameplay "https://github.com/projectfasberry/atlas/blob/main/apps/taurus/pages/index/(components)/gameplay.tsx"
click node_spawn "https://github.com/projectfasberry/atlas/blob/main/apps/taurus/pages/index/(components)/spawn-carousel.tsx"
click node_taurus_status "https://github.com/projectfasberry/atlas/blob/main/apps/taurus/pages/status/%2BPage.tsx"
click node_status_view "https://github.com/projectfasberry/atlas/blob/main/apps/taurus/pages/status/(components)/server-status.tsx"
click node_status_model "https://github.com/projectfasberry/atlas/blob/main/apps/taurus/pages/status/(models)/server-status.model.ts"
click node_taurus_client "https://github.com/projectfasberry/atlas/blob/main/apps/taurus/shared/api/client.ts"
click node_taurus_renderer "https://github.com/projectfasberry/atlas/blob/main/apps/taurus/renderer/%2Bserver.ts"
click node_wiki_pages "https://github.com/projectfasberry/atlas/blob/main/apps/wiki/app/%5B%5B...slug%5D%5D/page.tsx"
click node_wiki_api "https://github.com/projectfasberry/atlas/tree/main/apps/wiki/app/api"
click node_wiki_content "https://github.com/projectfasberry/atlas/tree/main/apps/wiki/lib/content"
click node_wiki_database "https://github.com/projectfasberry/atlas/tree/main/apps/wiki/lib/db"
click node_wiki_auth "https://github.com/projectfasberry/atlas/blob/main/apps/wiki/lib/auth.ts"
click node_ui_avatar "https://github.com/projectfasberry/atlas/blob/main/pkgs/ui/src/avatar.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_minotaur_pages,node_auth,node_player_land,node_news_ratings,node_store,node_private_admin,node_tasks_view,node_tasks_model,node_storage_view,node_storage_model,node_minotaur_client,node_minotaur_renderer toneBlue
class node_taurus_pages,node_taurus_home,node_gameplay,node_spawn,node_taurus_status,node_status_view,node_status_model,node_taurus_client,node_taurus_renderer toneAmber
class node_wiki_pages,node_wiki_api,node_wiki_content,node_wiki_database,node_wiki_auth toneMint
class node_ui_avatar toneRose
class node_visitor toneIndigo
```

## Components

### Minotaur App

- [Community Pages](https://github.com/projectfasberry/atlas/tree/main/apps/minotaur/pages): `apps/minotaur/pages`
- [Authentication](https://github.com/projectfasberry/atlas/tree/main/apps/minotaur/shared/components/app/auth): `apps/minotaur/shared/components/app/auth`
- [Players & Lands](https://github.com/projectfasberry/atlas/tree/main/apps/minotaur/shared/components/app/player): `apps/minotaur/shared/components/app/player`
- [News & Ratings](https://github.com/projectfasberry/atlas/tree/main/apps/minotaur/shared/components/app/news): `apps/minotaur/shared/components/app/news`
- [Store & Orders](https://github.com/projectfasberry/atlas/tree/main/apps/minotaur/shared/components/app/shop): `apps/minotaur/shared/components/app/shop`
- [Admin Console](https://github.com/projectfasberry/atlas/tree/main/apps/minotaur/shared/components/app/private): `apps/minotaur/shared/components/app/private`
- [Tasks View](https://github.com/projectfasberry/atlas/blob/main/apps/minotaur/shared/components/app/tasks/components/tasks.tsx): `apps/minotaur/shared/components/app/tasks/components/tasks.tsx`
- [Tasks Data Model](https://github.com/projectfasberry/atlas/blob/main/apps/minotaur/shared/components/app/tasks/models/tasks.model.ts): `apps/minotaur/shared/components/app/tasks/models/tasks.model.ts`
- [Storage Browser](https://github.com/projectfasberry/atlas/blob/main/apps/minotaur/shared/components/app/private/components/storage.tsx): `apps/minotaur/shared/components/app/private/components/storage.tsx`
- [Storage Data Model](https://github.com/projectfasberry/atlas/blob/main/apps/minotaur/shared/components/app/private/models/storage.model.ts): `apps/minotaur/shared/components/app/private/models/storage.model.ts`
- [API Clients](https://github.com/projectfasberry/atlas/blob/main/apps/minotaur/shared/api/client.ts): `apps/minotaur/shared/api/client.ts`
- [Page Rendering](https://github.com/projectfasberry/atlas/blob/main/apps/minotaur/renderer/%2Bserver.ts): `apps/minotaur/renderer/+server.ts`

### Taurus Landing

- [Landing Pages](https://github.com/projectfasberry/atlas/tree/main/apps/taurus/pages): `apps/taurus/pages`
- [Home Experience](https://github.com/projectfasberry/atlas/blob/main/apps/taurus/pages/index/%2BPage.tsx): `apps/taurus/pages/index/+Page.tsx`
- [Gameplay Showcase](https://github.com/projectfasberry/atlas/blob/main/apps/taurus/pages/index/(components)/gameplay.tsx): `apps/taurus/pages/index/(components)/gameplay.tsx`
- [Spawn Carousel](https://github.com/projectfasberry/atlas/blob/main/apps/taurus/pages/index/(components)/spawn-carousel.tsx): `apps/taurus/pages/index/(components)/spawn-carousel.tsx`
- [Server Status Page](https://github.com/projectfasberry/atlas/blob/main/apps/taurus/pages/status/%2BPage.tsx): `apps/taurus/pages/status/+Page.tsx`
- [Status Display](https://github.com/projectfasberry/atlas/blob/main/apps/taurus/pages/status/(components)/server-status.tsx): `apps/taurus/pages/status/(components)/server-status.tsx`
- [Status Data Model](https://github.com/projectfasberry/atlas/blob/main/apps/taurus/pages/status/(models)/server-status.model.ts): `apps/taurus/pages/status/(models)/server-status.model.ts`
- [API Client](https://github.com/projectfasberry/atlas/blob/main/apps/taurus/shared/api/client.ts): `apps/taurus/shared/api/client.ts`
- [Page Rendering](https://github.com/projectfasberry/atlas/blob/main/apps/taurus/renderer/%2Bserver.ts): `apps/taurus/renderer/+server.ts`

### Wiki Site

- [Wiki Articles](https://github.com/projectfasberry/atlas/blob/main/apps/wiki/app/%5B%5B...slug%5D%5D/page.tsx): `apps/wiki/app/[[...slug]]/page.tsx`
- [Wiki API Routes](https://github.com/projectfasberry/atlas/tree/main/apps/wiki/app/api): `apps/wiki/app/api`
- [Content Services](https://github.com/projectfasberry/atlas/tree/main/apps/wiki/lib/content): `apps/wiki/lib/content`
- [Wiki Database](https://github.com/projectfasberry/atlas/tree/main/apps/wiki/lib/db): `apps/wiki/lib/db`
- [Wiki Authentication](https://github.com/projectfasberry/atlas/blob/main/apps/wiki/lib/auth.ts): `apps/wiki/lib/auth.ts`

### Shared UI

- [Avatar Component](https://github.com/projectfasberry/atlas/blob/main/pkgs/ui/src/avatar.tsx): `pkgs/ui/src/avatar.tsx`

### Other components

- **Visitor**

## Connections

- Visitor → Page Rendering: requests pages
- Visitor → Page Rendering: requests pages
- Visitor → Wiki Articles: reads articles
- Tasks View → Tasks Data Model: reads and fetches (evidence: `apps/minotaur/shared/components/app/tasks/components/tasks.tsx`)
- Tasks Data Model → API Clients: requests task list (evidence: `apps/minotaur/shared/components/app/tasks/models/tasks.model.ts`)
- Storage Browser → Storage Data Model: creates and dispatches (evidence: `apps/minotaur/shared/components/app/private/components/storage.tsx`)
- Storage Data Model → API Clients: requests bucket data (evidence: `apps/minotaur/shared/components/app/private/models/storage.model.ts`)
- Home Experience → Gameplay Showcase: renders (evidence: `apps/taurus/pages/index/+Page.tsx`)
- Home Experience → Spawn Carousel: renders (evidence: `apps/taurus/pages/index/+Page.tsx`)
- Server Status Page → Status Display: renders (evidence: `apps/taurus/pages/status/+Page.tsx`)
- Server Status Page → Status Data Model: reads status (evidence: `apps/taurus/pages/status/+Page.tsx`)
- Status Data Model → API Client: uses client
- Wiki Articles → Content Services: uses content
- Wiki API Routes → Wiki Database: accesses data
