Bloomberg-like terminal with AI. It uses Redis with AlphaVantage data and local simulations to avoid hitting the API too much.
Bloomberg-like terminal with AI. It uses Redis with AlphaVantage data and local simulations to avoid hitting the API too much.
Clone of the Bloomberg Terminal built with Next.js 15, React 19, and TypeScript. This project demonstrates real-time financial data visualization with a professional interface inspired by the Bloomberg Terminal. Structured as an SPA because for a terminal with constantly mutating financial data, URL structure and browser history have limited utility compared to a traditional SPA approach.
Create a .env.local file with the following variables:
# Upstash Redis connection details
UPSTASH_REDIS_REST_URL=your_upstash_redis_url
UPSTASH_REDIS_REST_TOKEN=your_upstash_redis_token
# Alpha Vantage API key for market data
ALPHA_VANTAGE_API_KEY=your_alpha_vantage_api_key
# OpenAI API key for AI features
OPENAI_API_KEY=your_openai_api_key
# Allowed origins for API access (comma-separated list, no spaces)
ALLOWED_ORIGINS=https://your-domain.com,http://localhost:3000
The project is structured as follows:
/app: Next.js App Router pages and API routes/components/bloomberg: Terminal-specific components/api: API client functions for market data fetching and simulation/atoms: Jotai atoms for local state management/core: Core Bloomberg Terminal components/hooks: Custom React hooks for data fetching and UI state/layout: Layout components that define the terminal structure/lib: Terminal-specific utility functions and configuration/providers: Context providers for React Query and other global state/ui: Terminal-specific UI components/views: Main view components for different terminal screens/components/ui: shadcn/ui base components (design system)/lib: Application-wide utility functions and shared code/public: Static assets and imagesComponents are organized based on:
ALLOWED_ORIGINS environment variableMIT
No open issues yet, or sync has not completed.