A minimal iOS dashboard for tracking real-time stock prices with custom API support.
Stock.Display.New.iOS.App.mp4
- Real-time stock prices - Track multiple stocks with live price updates
- Custom API support - Use Yahoo Finance or configure your own API endpoint
- Configurable refresh - Auto-refresh every 10s, 30s, 1min, 5min, or manual
- Multiple data sources - Support different API providers for different stocks
- Light/Dark theme - Follows system appearance or choose your preference
- Adjustable font size - Small, Medium, Large, Extra Large
- Keep screen on - Prevent screen dimming while viewing
- Import/Export config - Backup and restore your stock list via JSON files
- Clone the repository
- Open
StockDisplay.xcodeprojin Xcode - Select an iOS Simulator (iOS 17.0+)
- Press
Cmd + Rto build and run
- iOS 17.0 or later
- Xcode 15.0 or later
- Tap the gear icon in the top-right corner
- Tap + to add a new stock
- Select a Data Source (or create a new one)
- Enter the stock Name and Symbol/Code
- Choose a Refresh Interval
- Tap Save
StockDisplay uses Data Sources to fetch stock prices. Each data source defines:
- API URL - The endpoint URL (use
{code}as a placeholder for the stock symbol) - Price JSON Path - Dot-notation path to extract the price (e.g.,
chart.result[0].meta.regularMarketPrice) - Change JSON Path - Dot-notation path to extract the price change (e.g.,
chart.result[0].meta.regularMarketChangePercent)
To use a custom API:
- Go to Settings β Data Sources
- Tap + to add a new data source
- Enter a Name for the data source
- Enter the full API URL (use
{code}for the stock symbol) - Enter the JSON paths for price and change values
- Save
Export your stock configuration to share or backup:
- Go to Settings β Config File
- Tap Export to save your stocks and data sources as JSON
- Tap Import to load a previously exported configuration
| Setting | Description |
|---|---|
| Theme | System, Light, or Dark |
| Font Size | Small, Medium, Large, Extra Large |
| Keep Screen On | Prevent screen dimming |
| Data Sources | Manage API configurations |
| Stocks | View, edit, delete stocks |
| About | GitHub repo, Donation, App info |
| Item | Description |
|---|---|
| GitHub | africamonkey/StockDisplay |
| Donate | Support development via in-app purchase (1ε γ10ε γ30ε γ100ε ) |
| Version | Displayed in Settings β About |
Built with native iOS technologies:
- SwiftUI - Modern declarative UI framework
- SwiftData - Persistent storage for stocks and settings
- async/await - Asynchronous data fetching
- URLSession - Network requests
StockDisplay/
βββ StockDisplayApp.swift # App entry point
βββ ContentView.swift # Root view
βββ Views/
β βββ DashboardView.swift # Main stock list
β βββ StockCardView.swift # Individual stock card
β βββ SettingsView.swift # Settings screen
β βββ AddEditStockView.swift # Add/edit stock form
β βββ AppearanceSettingsView.swift
β βββ ConfigFileSettingsView.swift
β βββ DataSourceEditorView.swift
β βββ AboutView.swift # About screen
β βββ DonationView.swift # Donation sheet
βββ Models/
β βββ StockConfig.swift # Stock data model
β βββ DataSourceConfig.swift # API configuration model
βββ Services/
β βββ StockAPIService.swift # API fetching logic
β βββ DonationManager.swift # StoreKit donation handling
βββ Utils/
βββ JSONPath.swift # JSON path extraction
βββ LocaleManager.swift # Localization
βββ FontScale.swift # Font scaling
MIT License - see LICENSE