A professional-grade desktop trading platform designed for algorithmic traders and retail investors. This application provides real-time market data visualization and a local simulation environment for trading.
ZXChange follows a "Local Bridge" architecture:
- Backend (Spring Boot): Acts as a bridge between high-frequency market data providers (Finnhub.io) and the UI. It manages local persistence in SQLite and handles a Mock Trading Engine for risk-free simulation.
- Frontend (React): A data-dense, mission-control inspired UI built with Tailwind CSS and Lightweight Charts.
- Real-time Market Data: Seamless integration with Finnhub.io for stock and crypto data via WebSockets and REST.
- Mock Trading Service: Execute market, limit, and stop orders locally against real-time prices without an external broker account.
- Dynamic Charting: Interactive candlestick charts with real-time updates and multiple timeframe support (1s to 1w).
- Portfolio Management: Persistent local tracking of cash balance, positions, and equity.
- Professional UI: High-density, theme-able dashboard inspired by Bloomberg Terminal.
- Java 21
- Spring Boot 3.3.x
- Spring Data JPA
- SQLite
- OkHttp / STOMP
- React 18 / Vite 5
- TypeScript
- Tailwind CSS
- Zustand (State Management)
- TanStack Query (Data Fetching)
- Lightweight Charts (TradingView)
- JDK 21+
- Node.js 20+
- Maven 3.9+
- Finnhub.io API Key
Create a .env file in the project root:
FINNHUB_API_KEY=your_key_herecd backend
mvn spring-boot:runcd frontend
npm install
npm run devOpen http://localhost:5173 in your browser.
cd backend
mvn testcd frontend
npx playwright testThis project is licensed under the MIT License.