How abraham-ny/traderocker-desktop works
TradeRocker is a Swing desktop simulator for crypto trading, combining CoinGecko market data with demo-account portfolio state. Users browse/search tokens, select one for details and a seven-day chart, then buy or sell; they can also manage accounts, funds, watchlists, and open positions. MainPanel coordinates market/chart loading and dialogs, while AccountManager persists account state as JSON. The graph follows documented capabilities where source excerpts are incomplete; the account, trade, and market paths are supported by the sampled code.
Main entry points: MainPanel.java Main panel · CryptoTradingClient.java Application frame · Account.java Account model · AccountManager.java Account manager
Components 18
Desktop UI
- Application frame
src/main/java/com/vitalsoft/traderocker/CryptoTradingClient.java - Main panel
src/main/java/com/vitalsoft/traderocker/MainPanel.java - Token list
src/main/java/com/vitalsoft/traderocker/TokenListPanel.java - Crypto details
src/main/java/com/vitalsoft/traderocker/CryptoInfoPanel.java - Price chart
src/main/java/com/vitalsoft/traderocker/ChartPanel.java - Account summary
src/main/java/com/vitalsoft/traderocker/AccountInfoPanel.java - Account manager UI
src/main/java/com/vitalsoft/traderocker/AccountsDialog.java - Positions UI
src/main/java/com/vitalsoft/traderocker/PositionsDialog.java - Trade dialog
src/main/java/com/vitalsoft/traderocker/TradingDialog.java
Market Data
- CoinGecko client
src/main/java/com/vitalsoft/traderocker/CryptoAPI.java - CoinGecko API
- Market data
src/main/java/com/vitalsoft/traderocker/CryptoData.java
Trading Domain
- Account model
src/main/java/com/vitalsoft/traderocker/Account.java - Positions
src/main/java/com/vitalsoft/traderocker/Account.java - P&L history
src/main/java/com/vitalsoft/traderocker/Account.java
Accounts
- Account manager
src/main/java/com/vitalsoft/traderocker/AccountManager.java - Account JSON files
Other components
- Desktop user
Connections 30
- Desktop user → Application frame: launches and operates
- Application frame → Main panel: creates
- Main panel → Token list: creates
- Main panel → Crypto details: creates
- Main panel → Price chart: creates
- Main panel → Account summary: creates
- Main panel → CoinGecko client: requests market data
- CoinGecko client → CoinGecko API: fetches prices and charts
- CoinGecko client → Market data: parses market response
- Main panel → Token list: supplies market list
- Main panel → Price chart: supplies chart points
- Main panel → Account summary: refreshes summary
- Token list → Main panel: selects token
- Main panel → Crypto details: shows selection
- Crypto details → Trade dialog: opens buy or sell
- Trade dialog → Account model: executes simulated trade
- Trade dialog → Account manager: saves account
- Application frame → Account manager: creates and selects accounts
- Application frame → Account manager UI: opens account management
- Account manager UI → Account manager: switches or deletes accounts
- Application frame → Positions UI: opens positions view
- Main panel → Positions UI: opens positions view
- Positions UI → CoinGecko client: refreshes prices
- Positions UI → Account model: reads and closes positions
- Account model → Positions: tracks holdings
- Account model → P&L history: records snapshots
- Account summary → Account model: reads balance and P&L
- Account manager → Account JSON files: loads and saves JSON
- Application frame → Account manager: saves on exit
- Crypto details → Account model: updates watchlist