# ankit-dev-7/test architecture

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

- Interactive diagram: https://gitdiagram.com/ankit-dev-7/test
- Repository: https://github.com/ankit-dev-7/test

## Overview

This repository is a browser-based paper-trading website, not a GitHub deployment tool despite the README title. Its visible workflow is user sign-in, dashboard navigation and stock selection, simulated trades updating account state, then portfolio/history/leaderboard views. Sampled code shows locally generated prices and browser storage; several UI sections and persistence paths are only partly excerpted, so unsupported links are omitted. The graph focuses on the app runtime and its market-data module.

Main entry points: [`app.js`](https://github.com/ankit-dev-7/test/blob/main/app.js) (Section navigation), [`data.js`](https://github.com/ankit-dev-7/test/blob/main/data.js) (Stock data)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_ui["Trading interface"]
  node_auth["Login and signup<br/>[app.js]"]
  node_navigation["Section navigation<br/>[app.js]"]
  node_dashboard["Dashboard<br/>[app.js]"]
  node_stocksearch["Stock search<br/>[app.js]"]
  node_pricechart["Price chart<br/>[app.js]"]
  node_portfolio["Portfolio view<br/>[app.js]"]
  node_history["Trade history<br/>[app.js]"]
  node_leaderboard["Leaderboard<br/>[app.js]"]
  node_theme["Theme settings<br/>[app.js]"]
end

subgraph group_market["Market simulation"]
  node_marketdata[("Stock data<br/>[data.js]")]
  node_simulation["Price simulation<br/>[data.js]"]
  node_marketusers[("Sample leaderboard<br/>[data.js]")]
end

subgraph group_account["Account and trading"]
  node_trade["Trade execution<br/>[app.js]"]
  node_accountstate[("User account state<br/>[app.js]")]
  node_persistence[("Browser persistence<br/>[app.js]")]
end

node_user(("Trader"))

node_user -->|"signs in"| node_auth
node_user -->|"selects section"| node_navigation
node_navigation -->|"initializes"| node_dashboard
node_navigation -->|"renders"| node_portfolio
node_navigation -->|"renders"| node_history
node_navigation -->|"renders"| node_leaderboard
node_user -->|"searches"| node_stocksearch
node_stocksearch -.->|"filters"| node_marketdata
node_user -->|"places trade"| node_trade
node_trade -->|"updates"| node_accountstate
node_trade -->|"saves"| node_persistence
node_accountstate -->|"supplies holdings"| node_portfolio
node_accountstate -->|"supplies records"| node_history
node_accountstate -->|"supplies balance"| node_leaderboard
node_simulation -->|"updates prices"| node_marketdata
node_marketdata -.->|"provides candles"| node_pricechart
node_user -->|"toggles"| node_theme
node_theme -->|"stores preference"| node_persistence
node_marketusers -.->|"provides entries"| node_leaderboard

click node_auth "https://github.com/ankit-dev-7/test/blob/main/app.js"
click node_navigation "https://github.com/ankit-dev-7/test/blob/main/app.js"
click node_dashboard "https://github.com/ankit-dev-7/test/blob/main/app.js"
click node_stocksearch "https://github.com/ankit-dev-7/test/blob/main/app.js"
click node_pricechart "https://github.com/ankit-dev-7/test/blob/main/app.js"
click node_portfolio "https://github.com/ankit-dev-7/test/blob/main/app.js"
click node_history "https://github.com/ankit-dev-7/test/blob/main/app.js"
click node_leaderboard "https://github.com/ankit-dev-7/test/blob/main/app.js"
click node_theme "https://github.com/ankit-dev-7/test/blob/main/app.js"
click node_trade "https://github.com/ankit-dev-7/test/blob/main/app.js"
click node_accountstate "https://github.com/ankit-dev-7/test/blob/main/app.js"
click node_persistence "https://github.com/ankit-dev-7/test/blob/main/app.js"
click node_marketdata "https://github.com/ankit-dev-7/test/blob/main/data.js"
click node_simulation "https://github.com/ankit-dev-7/test/blob/main/data.js"
click node_marketusers "https://github.com/ankit-dev-7/test/blob/main/data.js"

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_auth,node_navigation,node_dashboard,node_stocksearch,node_pricechart,node_portfolio,node_history,node_leaderboard,node_theme toneBlue
class node_marketdata,node_simulation,node_marketusers toneAmber
class node_trade,node_accountstate,node_persistence toneMint
class node_user toneIndigo
```

## Components

### Trading interface

- [Login and signup](https://github.com/ankit-dev-7/test/blob/main/app.js): `app.js`
- [Section navigation](https://github.com/ankit-dev-7/test/blob/main/app.js): `app.js`
- [Dashboard](https://github.com/ankit-dev-7/test/blob/main/app.js): `app.js`
- [Stock search](https://github.com/ankit-dev-7/test/blob/main/app.js): `app.js`
- [Price chart](https://github.com/ankit-dev-7/test/blob/main/app.js): `app.js`
- [Portfolio view](https://github.com/ankit-dev-7/test/blob/main/app.js): `app.js`
- [Trade history](https://github.com/ankit-dev-7/test/blob/main/app.js): `app.js`
- [Leaderboard](https://github.com/ankit-dev-7/test/blob/main/app.js): `app.js`
- [Theme settings](https://github.com/ankit-dev-7/test/blob/main/app.js): `app.js`

### Market simulation

- [Stock data](https://github.com/ankit-dev-7/test/blob/main/data.js): `data.js`
- [Price simulation](https://github.com/ankit-dev-7/test/blob/main/data.js): `data.js`
- [Sample leaderboard](https://github.com/ankit-dev-7/test/blob/main/data.js): `data.js`

### Account and trading

- [Trade execution](https://github.com/ankit-dev-7/test/blob/main/app.js): `app.js`
- [User account state](https://github.com/ankit-dev-7/test/blob/main/app.js): `app.js`
- [Browser persistence](https://github.com/ankit-dev-7/test/blob/main/app.js): `app.js`

### Other components

- **Trader**

## Connections

- Trader → Login and signup: signs in (evidence: `app.js`)
- Trader → Section navigation: selects section (evidence: `app.js`)
- Section navigation → Dashboard: initializes (evidence: `app.js`)
- Section navigation → Portfolio view: renders (evidence: `app.js`)
- Section navigation → Trade history: renders (evidence: `app.js`)
- Section navigation → Leaderboard: renders (evidence: `app.js`)
- Trader → Stock search: searches (evidence: `app.js`)
- Stock search → Stock data: filters
- Trader → Trade execution: places trade (evidence: `app.js`)
- Trade execution → User account state: updates (evidence: `app.js`)
- Trade execution → Browser persistence: saves (evidence: `app.js`)
- User account state → Portfolio view: supplies holdings (evidence: `app.js`)
- User account state → Trade history: supplies records (evidence: `app.js`)
- User account state → Leaderboard: supplies balance (evidence: `app.js`)
- Price simulation → Stock data: updates prices (evidence: `data.js`)
- Stock data → Price chart: provides candles
- Trader → Theme settings: toggles (evidence: `app.js`)
- Theme settings → Browser persistence: stores preference (evidence: `app.js`)
- Sample leaderboard → Leaderboard: provides entries
