How theanabioz/crypto works
Crypto is an iOS market-data and analysis app backed by a Python API. The main workflow is market browsing and charting, with screening and indicator exploration as analysis branches: the app requests data from the backend, which serves market/history and computed indicator results. The tree and excerpts support the API, chart caching, indicator calculation, and ClickHouse-read layers; finer backend wiring and several UI interactions are inferred only from module names, so uncertain links are omitted.
Main entry points: BackendService.swift Backend client · api_db.py ClickHouse · api.py HTTP API · api_hub.py API hub
Components 21
iOS App
- App shell
Crypto/CryptoApp.swift - Market browser
Crypto/ContentView.swift - Coin details
Crypto/CoinDetailView.swift - Chart repository
Crypto/ChartRepository.swift - Screener
Crypto/ScreenerView.swift - Condition builder
Crypto/ConditionBuilderView.swift - Indicator explorer
Crypto/IndicatorExplorerView.swift - Alerts
Crypto/AlertsView.swift - Settings
Crypto/SettingsView.swift - Backend client
Crypto/BackendService.swift
Backend API
- HTTP API
backend/app/api.py - API hub
backend/app/api_hub.py - Market WebSocket
backend/app/websocket.py
Market Analysis
- Screen evaluation
backend/app/batch_screen.py - Indicator engines
backend/app - Indicator catalog
Crypto/IndicatorCatalog.swift
Market Data
- Market ingestion
backend/app/ingest.py - History and rollups
backend/app/aggregate.py - ClickHouse
backend/app/api_db.py
Other components
- Investor
- Market data source
Connections 25
- Investor → App shell: opens
- App shell → Market browser: shows
- Investor → Market browser: browses
- Market browser → Backend client: requests markets
- Coin details → Backend client: requests details
- Chart repository → Backend client: fetches charts
- Screener → Condition builder: configures
- Condition builder → Backend client: submits screen
- Screener → Backend client: requests results
- Indicator explorer → Backend client: requests indicators
- Indicator explorer → Indicator catalog: uses catalog
- Alerts → Backend client: syncs alerts
- Settings → Backend client: configures access
- Backend client → HTTP API: HTTP requests
- Backend client → Market WebSocket: market stream
- HTTP API → API hub: dispatches
- API hub → Indicator engines: serves calculations
- API hub → Screen evaluation: runs screens
- Indicator engines → ClickHouse: reads and persists
- Screen evaluation → ClickHouse: reads market data
- HTTP API → ClickHouse: reads market data
- Market ingestion → ClickHouse: writes candles
- Market ingestion → Market data source: fetches candles
- History and rollups → ClickHouse: builds rollups
- Market WebSocket → ClickHouse: reads market state