# jordanneil14/fc24webappautobuyer architecture

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

- Interactive diagram: https://gitdiagram.com/jordanneil14/fc24webappautobuyer
- Repository: https://github.com/jordanneil14/fc24webappautobuyer

## Overview

This is a background FIFA Ultimate Team transfer-market trading bot. Its two hosted workers search configured players and buy qualifying listings, then monitor the tradepile to clear sold items and relist expired unsold items. Startup wires workers, API tasks, networking, and configuration. The sampled code supports these call paths; the README is empty, and unsampled modules are represented only where the tree supports their paths.

Main entry points: [`FIFAWebAppWithWorkers/Tasks/APITasks.cs`](https://github.com/jordanneil14/fc24webappautobuyer/blob/main/FIFAWebAppWithWorkers/Tasks/APITasks.cs) (Market operations), [`FIFAWebAppWithWorkers/Workers/SearchWorker.cs`](https://github.com/jordanneil14/fc24webappautobuyer/blob/main/FIFAWebAppWithWorkers/Workers/SearchWorker.cs) (Market search), [`FIFAWebAppWithWorkers/Program.cs`](https://github.com/jordanneil14/fc24webappautobuyer/blob/main/FIFAWebAppWithWorkers/Program.cs) (Application host), [`FIFAWebAppWithWorkers/Workers/TradepileWorker.cs`](https://github.com/jordanneil14/fc24webappautobuyer/blob/main/FIFAWebAppWithWorkers/Workers/TradepileWorker.cs) (Tradepile manager)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_runtime["Runtime orchestration"]
  node_host["Application host<br/>[Program.cs]"]
  node_settings["Worker settings"]
  node_session["Session configuration<br/>[appsettings.json]"]
end

subgraph group_trading["Trading workflows"]
  node_search["Market search<br/>[SearchWorker.cs]"]
  node_tradepile["Tradepile manager<br/>[TradepileWorker.cs]"]
  node_pricing["Price adjustments<br/>[General.cs]"]
  node_player["Player settings<br/>[PlayerModel.cs]"]
end

subgraph group_integration["API integration"]
  node_api["Market operations<br/>[APITasks.cs]"]
  node_network["HTTP transport<br/>[NetworkHelper.cs]"]
  node_response["Network response<br/>[NetworkResponse.cs]"]
  node_searchdata["Search result contract"]
  node_piledata["Tradepile contract<br/>[TradepileModel.cs]"]
  node_biddata["Bid request contract<br/>[BidModel.cs]"]
  node_selldata["Listing request contract<br/>[SellPlayerModel.cs]"]
  node_movedata["Pile move contract"]
end

node_ea[("EA transfer market")]

node_host -->|"hosts"| node_search
node_host -->|"hosts"| node_tradepile
node_host -->|"registers"| node_api
node_host -->|"registers"| node_network
node_host -->|"binds"| node_settings
node_settings -->|"reads"| node_session
node_search -->|"requests market actions"| node_api
node_tradepile -->|"requests pile actions"| node_api
node_search -->|"adjusts prices"| node_pricing
node_search -->|"deserializes"| node_searchdata
node_tradepile -->|"deserializes"| node_piledata
node_search -->|"uses configured players"| node_player
node_tradepile -->|"filters configured players"| node_player
node_api -->|"sends HTTP requests"| node_network
node_api -->|"serializes bids"| node_biddata
node_api -->|"serializes listings"| node_selldata
node_api -->|"serializes pile moves"| node_movedata
node_network -->|"calls transfer endpoints"| node_ea
node_ea -->|"returns responses"| node_network
node_network -->|"creates"| node_response
node_search -->|"buys and searches via API"| node_ea
node_tradepile -->|"lists and removes via API"| node_ea

click node_host "https://github.com/jordanneil14/fc24webappautobuyer/blob/main/FIFAWebAppWithWorkers/Program.cs"
click node_settings "https://github.com/jordanneil14/fc24webappautobuyer/blob/main/FIFAWebAppWithWorkers/AppSettingsModel.cs"
click node_session "https://github.com/jordanneil14/fc24webappautobuyer/blob/main/FIFAWebAppWithWorkers/appsettings.json"
click node_search "https://github.com/jordanneil14/fc24webappautobuyer/blob/main/FIFAWebAppWithWorkers/Workers/SearchWorker.cs"
click node_tradepile "https://github.com/jordanneil14/fc24webappautobuyer/blob/main/FIFAWebAppWithWorkers/Workers/TradepileWorker.cs"
click node_pricing "https://github.com/jordanneil14/fc24webappautobuyer/blob/main/FIFAWebAppWithWorkers/Shared/General.cs"
click node_player "https://github.com/jordanneil14/fc24webappautobuyer/blob/main/FIFAWebAppWithWorkers/Models/PlayerModel.cs"
click node_api "https://github.com/jordanneil14/fc24webappautobuyer/blob/main/FIFAWebAppWithWorkers/Tasks/APITasks.cs"
click node_network "https://github.com/jordanneil14/fc24webappautobuyer/blob/main/FIFAWebAppWithWorkers/Network/NetworkHelper.cs"
click node_response "https://github.com/jordanneil14/fc24webappautobuyer/blob/main/FIFAWebAppWithWorkers/Network/NetworkResponse.cs"
click node_searchdata "https://github.com/jordanneil14/fc24webappautobuyer/blob/main/FIFAWebAppWithWorkers/Models/SearchResultsModel.cs"
click node_piledata "https://github.com/jordanneil14/fc24webappautobuyer/blob/main/FIFAWebAppWithWorkers/Models/TradepileModel.cs"
click node_biddata "https://github.com/jordanneil14/fc24webappautobuyer/blob/main/FIFAWebAppWithWorkers/Models/BidModel.cs"
click node_selldata "https://github.com/jordanneil14/fc24webappautobuyer/blob/main/FIFAWebAppWithWorkers/Models/SellPlayerModel.cs"
click node_movedata "https://github.com/jordanneil14/fc24webappautobuyer/blob/main/FIFAWebAppWithWorkers/Models/MoveToTradepileModel.cs"

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_host,node_settings,node_session toneBlue
class node_search,node_tradepile,node_pricing,node_player,node_ea toneAmber
class node_api,node_network,node_response,node_searchdata,node_piledata,node_biddata,node_selldata,node_movedata toneMint
```

## Components

### Runtime orchestration

- [Application host](https://github.com/jordanneil14/fc24webappautobuyer/blob/main/FIFAWebAppWithWorkers/Program.cs): `FIFAWebAppWithWorkers/Program.cs`
- [Worker settings](https://github.com/jordanneil14/fc24webappautobuyer/blob/main/FIFAWebAppWithWorkers/AppSettingsModel.cs): `FIFAWebAppWithWorkers/AppSettingsModel.cs`
- [Session configuration](https://github.com/jordanneil14/fc24webappautobuyer/blob/main/FIFAWebAppWithWorkers/appsettings.json): `FIFAWebAppWithWorkers/appsettings.json`

### Trading workflows

- [Market search](https://github.com/jordanneil14/fc24webappautobuyer/blob/main/FIFAWebAppWithWorkers/Workers/SearchWorker.cs): `FIFAWebAppWithWorkers/Workers/SearchWorker.cs`
- [Tradepile manager](https://github.com/jordanneil14/fc24webappautobuyer/blob/main/FIFAWebAppWithWorkers/Workers/TradepileWorker.cs): `FIFAWebAppWithWorkers/Workers/TradepileWorker.cs`
- [Price adjustments](https://github.com/jordanneil14/fc24webappautobuyer/blob/main/FIFAWebAppWithWorkers/Shared/General.cs): `FIFAWebAppWithWorkers/Shared/General.cs`
- [Player settings](https://github.com/jordanneil14/fc24webappautobuyer/blob/main/FIFAWebAppWithWorkers/Models/PlayerModel.cs): `FIFAWebAppWithWorkers/Models/PlayerModel.cs`

### API integration

- [Market operations](https://github.com/jordanneil14/fc24webappautobuyer/blob/main/FIFAWebAppWithWorkers/Tasks/APITasks.cs): `FIFAWebAppWithWorkers/Tasks/APITasks.cs`
- [HTTP transport](https://github.com/jordanneil14/fc24webappautobuyer/blob/main/FIFAWebAppWithWorkers/Network/NetworkHelper.cs): `FIFAWebAppWithWorkers/Network/NetworkHelper.cs`
- [Network response](https://github.com/jordanneil14/fc24webappautobuyer/blob/main/FIFAWebAppWithWorkers/Network/NetworkResponse.cs): `FIFAWebAppWithWorkers/Network/NetworkResponse.cs`
- [Search result contract](https://github.com/jordanneil14/fc24webappautobuyer/blob/main/FIFAWebAppWithWorkers/Models/SearchResultsModel.cs): `FIFAWebAppWithWorkers/Models/SearchResultsModel.cs`
- [Tradepile contract](https://github.com/jordanneil14/fc24webappautobuyer/blob/main/FIFAWebAppWithWorkers/Models/TradepileModel.cs): `FIFAWebAppWithWorkers/Models/TradepileModel.cs`
- [Bid request contract](https://github.com/jordanneil14/fc24webappautobuyer/blob/main/FIFAWebAppWithWorkers/Models/BidModel.cs): `FIFAWebAppWithWorkers/Models/BidModel.cs`
- [Listing request contract](https://github.com/jordanneil14/fc24webappautobuyer/blob/main/FIFAWebAppWithWorkers/Models/SellPlayerModel.cs): `FIFAWebAppWithWorkers/Models/SellPlayerModel.cs`
- [Pile move contract](https://github.com/jordanneil14/fc24webappautobuyer/blob/main/FIFAWebAppWithWorkers/Models/MoveToTradepileModel.cs): `FIFAWebAppWithWorkers/Models/MoveToTradepileModel.cs`

### Other components

- **EA transfer market**

## Connections

- Application host → Market search: hosts
- Application host → Tradepile manager: hosts
- Application host → Market operations: registers
- Application host → HTTP transport: registers
- Application host → Worker settings: binds
- Worker settings → Session configuration: reads
- Market search → Market operations: requests market actions
- Tradepile manager → Market operations: requests pile actions
- Market search → Price adjustments: adjusts prices
- Market search → Search result contract: deserializes
- Tradepile manager → Tradepile contract: deserializes
- Market search → Player settings: uses configured players
- Tradepile manager → Player settings: filters configured players
- Market operations → HTTP transport: sends HTTP requests
- Market operations → Bid request contract: serializes bids
- Market operations → Listing request contract: serializes listings
- Market operations → Pile move contract: serializes pile moves
- HTTP transport → EA transfer market: calls transfer endpoints
- EA transfer market → HTTP transport: returns responses
- HTTP transport → Network response: creates
- Market search → EA transfer market: buys and searches via API
- Tradepile manager → EA transfer market: lists and removes via API
