# thewindflower/skyblock-quant-terminal architecture

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

- Interactive diagram: https://gitdiagram.com/thewindflower/skyblock-quant-terminal
- Repository: https://github.com/thewindflower/skyblock-quant-terminal

## Overview

SkyBlock Bazaar Analyzer is a browser-based trading-opportunity analyzer. The user workflow is to load live bazaar and NPC prices, choose an analysis view, refine results with filters, and inspect profitability, liquidity, and trading details. Its distinct analyses cover recursive recipe crafting, pure bazaar flips, NPC resale strategies, and shard fusion; shard calculations run in a worker. The README documents a scatter-plot view and related capabilities, though its implementation wiring was not sampled, so uncertain connections are omitted.

Main entry points: [`src/App.jsx`](https://github.com/thewindflower/skyblock-quant-terminal/blob/master/src/App.jsx) (App State And Analysis), [`src/components/ShardFusionTable.jsx`](https://github.com/thewindflower/skyblock-quant-terminal/blob/master/src/components/ShardFusionTable.jsx) (Shard Fusion View), [`src/components/DataTable.jsx`](https://github.com/thewindflower/skyblock-quant-terminal/blob/master/src/components/DataTable.jsx) (Crafting Results), [`src/utils/helpers.js`](https://github.com/thewindflower/skyblock-quant-terminal/blob/master/src/utils/helpers.js) (Formatting Helpers)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_app["Application"]
  node_entry["React Entry<br/>[main.jsx]"]
  node_appcore["App State And Analysis<br/>[App.jsx]"]
end

subgraph group_analysis["Profit Analyses"]
  node_craftdata["Crafting Recipes<br/>[recipes.json]"]
  node_craft["Crafting Results<br/>[DataTable.jsx]"]
  node_bazaarflips["Bazaar Flip Results"]
  node_npcflips["NPC Flip Results<br/>[NpcFlipTable.jsx]"]
  node_shardtable["Shard Fusion View"]
end

subgraph group_views["Results Interface"]
  node_filters["Analysis Filters<br/>[FilterMenu.jsx]"]
  node_header["Search And Refresh<br/>[Header.jsx]"]
  node_scatter["Profit Scatter Plot<br/>[ScatterChart.jsx]"]
end

subgraph group_support["Fusion And Utilities"]
  node_worker["Fusion Calculator<br/>[shardWorker.js]"]
  node_itemlink["Item Preview Link<br/>[ItemHoverLink.jsx]"]
  node_helpers["Formatting Helpers<br/>[helpers.js]"]
  node_trend["Price Trend Indicator<br/>[TrendArrow.jsx]"]
end

node_trader(("Trader"))
node_bazaarapi{{"Hypixel Bazaar API"}}
node_npcapi{{"Hypixel Items API"}}
node_fusiondata["Fusion Definitions"]
node_finance{{"SkyBlock Finance"}}

node_trader -->|"opens app"| node_entry
node_entry -->|"mounts"| node_appcore
node_appcore -->|"fetches prices"| node_bazaarapi
node_bazaarapi -->|"returns market data"| node_appcore
node_appcore -->|"fetches NPC prices"| node_npcapi
node_npcapi -->|"returns price data"| node_appcore
node_craftdata -->|"supplies recipes"| node_appcore
node_appcore -->|"passes craft results"| node_craft
node_appcore -->|"passes flip results"| node_bazaarflips
node_appcore -->|"passes NPC opportunities"| node_npcflips
node_appcore -->|"renders controls"| node_filters
node_filters -->|"updates filters"| node_appcore
node_appcore -->|"renders controls"| node_header
node_header -->|"requests refresh"| node_appcore
node_appcore -->|"renders view"| node_scatter
node_appcore -->|"passes bazaar data"| node_shardtable
node_shardtable -->|"dispatches calculations"| node_worker
node_worker -->|"returns opportunities"| node_shardtable
node_worker -.->|"fetches definitions"| node_fusiondata
node_craft -->|"links item previews"| node_itemlink
node_shardtable -->|"links shard previews"| node_itemlink
node_itemlink -.->|"embeds or opens item"| node_finance
node_craft -->|"formats values"| node_helpers
node_bazaarflips -->|"formats values"| node_helpers
node_npcflips -->|"formats values"| node_helpers
node_shardtable -->|"formats values"| node_helpers
node_craft -->|"shows price trends"| node_trend
node_bazaarflips -->|"shows price trends"| node_trend

click node_entry "https://github.com/thewindflower/skyblock-quant-terminal/blob/master/src/main.jsx"
click node_appcore "https://github.com/thewindflower/skyblock-quant-terminal/blob/master/src/App.jsx"
click node_craftdata "https://github.com/thewindflower/skyblock-quant-terminal/blob/master/src/recipes.json"
click node_craft "https://github.com/thewindflower/skyblock-quant-terminal/blob/master/src/components/DataTable.jsx"
click node_bazaarflips "https://github.com/thewindflower/skyblock-quant-terminal/blob/master/src/components/SimpleFlipTable.jsx"
click node_npcflips "https://github.com/thewindflower/skyblock-quant-terminal/blob/master/src/components/NpcFlipTable.jsx"
click node_filters "https://github.com/thewindflower/skyblock-quant-terminal/blob/master/src/components/FilterMenu.jsx"
click node_header "https://github.com/thewindflower/skyblock-quant-terminal/blob/master/src/components/Header.jsx"
click node_scatter "https://github.com/thewindflower/skyblock-quant-terminal/blob/master/src/components/ScatterChart.jsx"
click node_shardtable "https://github.com/thewindflower/skyblock-quant-terminal/blob/master/src/components/ShardFusionTable.jsx"
click node_worker "https://github.com/thewindflower/skyblock-quant-terminal/blob/master/src/workers/shardWorker.js"
click node_itemlink "https://github.com/thewindflower/skyblock-quant-terminal/blob/master/src/components/ItemHoverLink.jsx"
click node_helpers "https://github.com/thewindflower/skyblock-quant-terminal/blob/master/src/utils/helpers.js"
click node_trend "https://github.com/thewindflower/skyblock-quant-terminal/blob/master/src/utils/TrendArrow.jsx"

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_entry,node_appcore toneBlue
class node_craftdata,node_craft,node_bazaarflips,node_npcflips,node_shardtable toneAmber
class node_filters,node_header,node_scatter,node_bazaarapi,node_npcapi toneMint
class node_worker,node_itemlink,node_helpers,node_trend toneRose
class node_trader,node_fusiondata,node_finance toneIndigo
```

## Components

### Application

- [React Entry](https://github.com/thewindflower/skyblock-quant-terminal/blob/master/src/main.jsx): `src/main.jsx`
- [App State And Analysis](https://github.com/thewindflower/skyblock-quant-terminal/blob/master/src/App.jsx): `src/App.jsx`

### Profit Analyses

- [Crafting Recipes](https://github.com/thewindflower/skyblock-quant-terminal/blob/master/src/recipes.json): `src/recipes.json`
- [Crafting Results](https://github.com/thewindflower/skyblock-quant-terminal/blob/master/src/components/DataTable.jsx): `src/components/DataTable.jsx`
- [Bazaar Flip Results](https://github.com/thewindflower/skyblock-quant-terminal/blob/master/src/components/SimpleFlipTable.jsx): `src/components/SimpleFlipTable.jsx`
- [NPC Flip Results](https://github.com/thewindflower/skyblock-quant-terminal/blob/master/src/components/NpcFlipTable.jsx): `src/components/NpcFlipTable.jsx`
- [Shard Fusion View](https://github.com/thewindflower/skyblock-quant-terminal/blob/master/src/components/ShardFusionTable.jsx): `src/components/ShardFusionTable.jsx`

### Results Interface

- [Analysis Filters](https://github.com/thewindflower/skyblock-quant-terminal/blob/master/src/components/FilterMenu.jsx): `src/components/FilterMenu.jsx`
- [Search And Refresh](https://github.com/thewindflower/skyblock-quant-terminal/blob/master/src/components/Header.jsx): `src/components/Header.jsx`
- [Profit Scatter Plot](https://github.com/thewindflower/skyblock-quant-terminal/blob/master/src/components/ScatterChart.jsx): `src/components/ScatterChart.jsx`

### Fusion And Utilities

- [Fusion Calculator](https://github.com/thewindflower/skyblock-quant-terminal/blob/master/src/workers/shardWorker.js): `src/workers/shardWorker.js`
- [Item Preview Link](https://github.com/thewindflower/skyblock-quant-terminal/blob/master/src/components/ItemHoverLink.jsx): `src/components/ItemHoverLink.jsx`
- [Formatting Helpers](https://github.com/thewindflower/skyblock-quant-terminal/blob/master/src/utils/helpers.js): `src/utils/helpers.js`
- [Price Trend Indicator](https://github.com/thewindflower/skyblock-quant-terminal/blob/master/src/utils/TrendArrow.jsx): `src/utils/TrendArrow.jsx`

### Other components

- **Trader**
- **Hypixel Bazaar API**
- **Hypixel Items API**
- **Fusion Definitions**
- **SkyBlock Finance**

## Connections

- Trader → React Entry: opens app
- React Entry → App State And Analysis: mounts
- App State And Analysis → Hypixel Bazaar API: fetches prices
- Hypixel Bazaar API → App State And Analysis: returns market data
- App State And Analysis → Hypixel Items API: fetches NPC prices
- Hypixel Items API → App State And Analysis: returns price data
- Crafting Recipes → App State And Analysis: supplies recipes
- App State And Analysis → Crafting Results: passes craft results
- App State And Analysis → Bazaar Flip Results: passes flip results
- App State And Analysis → NPC Flip Results: passes NPC opportunities
- App State And Analysis → Analysis Filters: renders controls
- Analysis Filters → App State And Analysis: updates filters
- App State And Analysis → Search And Refresh: renders controls
- Search And Refresh → App State And Analysis: requests refresh
- App State And Analysis → Profit Scatter Plot: renders view
- App State And Analysis → Shard Fusion View: passes bazaar data
- Shard Fusion View → Fusion Calculator: dispatches calculations
- Fusion Calculator → Shard Fusion View: returns opportunities
- Fusion Calculator → Fusion Definitions: fetches definitions
- Crafting Results → Item Preview Link: links item previews
- Shard Fusion View → Item Preview Link: links shard previews
- Item Preview Link → SkyBlock Finance: embeds or opens item
- Crafting Results → Formatting Helpers: formats values
- Bazaar Flip Results → Formatting Helpers: formats values
- NPC Flip Results → Formatting Helpers: formats values
- Shard Fusion View → Formatting Helpers: formats values
- Crafting Results → Price Trend Indicator: shows price trends
- Bazaar Flip Results → Price Trend Indicator: shows price trends
