A modern, real-time trading dashboard built with React, TypeScript, and Tailwind CSS. Features live market data, technical indicators, customizable watchlists, and AI-powered news summarization.
Real-Time Market Data
Charts & Technical Indicators
News Feed & AI Summarization
Trade Execution Panel
Analytics & PnL Tracking
Journal & Review Tools
# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run build
# Preview production build
npm run preview
The application is containerized for easy production deployment:
# Build and run with Docker Compose
docker-compose up -d
# Or build and run manually
docker build -t tradingboard .
docker run -p 8080:80 tradingboard
The application will be available at http://localhost:8080
# Stop services
docker-compose down
# View logs
docker-compose logs -f
# Rebuild and restart
docker-compose up --build -d
# Check health status
docker-compose ps
docker login
# Replace 'yourusername' with your Docker Hub username
docker build -t yourusername/tradingboard:latest .
docker build -t yourusername/tradingboard:v1.0.0 .
docker push yourusername/tradingboard:latest
docker push yourusername/tradingboard:v1.0.0
docker run -p 8080:80 yourusername/tradingboard:latest
Create a Personal Access Token:
write:packages scopeLogin to GHCR:
echo $GITHUB_TOKEN | docker login ghcr.io -u yourusername --password-stdin
# Replace 'yourusername' with your GitHub username
docker build -t ghcr.io/yourusername/tradingboard:latest .
docker build -t ghcr.io/yourusername/tradingboard:v1.0.0 .
docker push ghcr.io/yourusername/tradingboard:latest
docker push ghcr.io/yourusername/tradingboard:v1.0.0
Automated builds are already configured! Every merge to the main branch automatically builds and pushes to Docker Hub at cgeorges/tradingboard.
Setup Requirements:
Create Docker Hub Access Token:
Add GitHub Secrets:
DOCKERHUB_USERNAME: cgeorgesDOCKERHUB_TOKEN: (your Docker Hub access token)Trigger Build:
What happens automatically:
cgeorges/tradingboard:latestManual Publishing (if needed):
Create a .env file in the root directory:
# Polygon.io API Key for real-time stock data and news
# Get your free API key at: https://polygon.io/
VITE_POLYGON_API_KEY=your_polygon_api_key_here
# OpenAI API Key for agent-forge AI summarization (optional)
# Get your API key at: https://platform.openai.com/api-keys
VITE_OPENAI_API_KEY=your_openai_api_key_here
# WebSocket URL for real-time data (optional - for premium providers)
# Examples: wss://socket.polygon.io/stocks, wss://ws.finnhub.io
VITE_WS_URL=wss://your-websocket-url.com
# Generic API key for other data providers (optional)
VITE_API_KEY=your_other_api_key_here
The application now uses real market data APIs:
Real data is now enabled by default! Set your VITE_ALPHA_VANTAGE_API_KEY to get live market data.
.env file with your API keyWatchlist Management
Chart Analysis
News Monitoring
The dashboard now includes agent-forge framework integration for enhanced news analysis:
// News analysis is automatically triggered
const analysis = await newsAnalysisService.analyzeNews(newsItem);
// Returns: {
// summary: "AI-generated trading-focused summary",
// sentiment: "positive" | "negative" | "neutral",
// keyPoints: ["Key insight 1", "Key insight 2"],
// marketImpact: "high" | "medium" | "low",
// tradingSignals: ["Bullish earnings beat", "Analyst upgrade"]
// }
The newsAnalysisService can be easily replaced with full agent-forge AI agents:
// TODO: Replace with agent-forge implementation
// const newsAgent = new TradingNewsAgent();
// await newsAgent.summarizeNews(newsItem);
src/
āāā components/ # React components
ā āāā Header.tsx # Status and title bar
ā āāā Watchlist.tsx # Stock list and management
ā āāā ChartPanel.tsx # Charts and indicators
ā āāā NewsPanel.tsx # News feed and filtering
āāā services/ # Business logic
ā āāā marketDataService.ts # WebSocket and API calls
āāā store/ # State management
ā āāā marketStore.ts # Zustand store
āāā types/ # TypeScript definitions
ā āāā market.ts # Data interfaces
āāā index.css # Global styles and theme
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)This project is licensed under the MIT License - see the LICENSEā file for details.
TradingBoard - Your command center for professional trading decisions.
Content type
Image
Digest
sha256:fde7eaefcā¦
Size
21.4 MB
Last updated
about 1 year ago
docker pull cgeorges/tradingboard