股票行情平台

全栈股票行情系统:实时大盘云图 · 多周期K线 · 自选股 · 价格预警

技术栈

层级 技术
前端 React 18 + TypeScript + Vite + Ant Design 5 + ECharts + LightweightCharts
后端 Python 3.12 + FastAPI + SQLAlchemy 2 + Celery
数据 AKShare (免费A股数据) + Tushare Pro (可选)
存储 PostgreSQL 16 + Redis 7
部署 Docker Compose + Nginx

快速启动

方式一Docker Compose推荐跨平台通用

前提:安装 Docker DesktopWindows/Mac/Linux 均支持)

# 复制环境变量
Copy-Item .env.example .env
# 编辑 .env修改密码等配置记事本或 VS Code 打开)

# 启动所有服务
docker-compose up -d

# 查看后端日志
docker-compose logs -f backend

访问:


方式二Windows 本地开发(不打包进 Docker

前提:安装 Python 3.12、Node.js 20、Docker Desktop仅用于跑数据库

一键启动脚本(推荐)

# 在项目根目录用 PowerShell 运行
.\scripts\dev-windows.ps1

脚本会自动:启动 PostgreSQL+RedisDocker→ 启动 FastAPI → 启动 Celery → 启动 Vite

手动启动步骤

# 第1步只启动数据库Docker
docker-compose -f docker-compose.dev.yml up -d

# 第2步后端
cd backend
python -m venv venv
.\venv\Scripts\Activate.ps1
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8000

# 第3步Celery新开一个 PowerShell 窗口Windows 必须加 --pool=solo
cd backend
.\venv\Scripts\Activate.ps1
celery -A celery_app.worker worker -l info --pool=solo

# 第4步前端新开一个 PowerShell 窗口)
cd frontend
npm install
npm run dev

访问:

功能页面

页面 路径 说明
登录/注册 /login JWT 认证
大盘云图 / A股实时热力图WebSocket 推送
股票详情 /stock/:symbol 分时/五日/日K/周K/月K
自选股 /watchlist 自选股管理
价格预警 /alerts 价格/涨跌幅预警配置

项目结构

stock/
├── backend/
│   ├── app/
│   │   ├── main.py           # FastAPI 入口 + WebSocket
│   │   ├── core/             # 配置、数据库、Redis、JWT
│   │   ├── api/v1/           # 路由auth, stocks, watchlist, alerts
│   │   ├── models/           # SQLAlchemy ORM 模型
│   │   ├── schemas/          # Pydantic 校验
│   │   ├── services/         # AKShare 数据服务
│   │   └── websocket/        # WebSocket 连接管理
│   └── celery_app/           # 定时任务
├── frontend/
│   └── src/
│       ├── pages/            # Login, Home, StockDetail, Watchlist, Alerts
│       ├── components/       # Layout, Charts(K线/分时/热力图)
│       ├── services/         # Axios API 封装
│       ├── stores/           # Zustand 状态管理
│       └── hooks/            # useWebSocket
├── nginx/nginx.conf
├── docker-compose.yml
└── .env

数据源

  • AKShare:免费,支持 A股/港股/美股/基金,日线/分钟K线/实时行情
  • Tushare Pro:积分制,专业复权数据(在 .env 中配置 TUSHARE_TOKEN

AKShare 调用新浪/东财公开接口,数据有 15-30 分钟延迟(非付费实时数据源)

Description
No description provided
Readme 115 KiB
Languages
TypeScript 57.5%
Python 39.2%
PowerShell 1.9%
CSS 0.5%
Dockerfile 0.5%
Other 0.4%