一款面向个人投资者的全栈股票交易应用,提供港股和美股的实时行情查看、股票交易、资产管理等核心功能。
港美股APP/ ├── src/ # 前端源码 │ ├── components/ # React组件 │ ├── pages/ # 页面组件 │ ├── hooks/ # 自定义Hooks │ ├── services/ # API服务 │ ├── store/ # 状态管理 │ ├── utils/ # 工具函数 │ └── lib/ # 第三方库配置 ├── api/ # 后端源码 │ ├── controllers/ # 控制器 │ ├── routes/ # 路由定义 │ ├── middleware/ # 中间件 │ ├── config/ # 配置文件 │ └── server.ts # 服务器入口 ├── migrations/ # 数据库迁移文件 ├── public/ # 静态资源 └── .trae/documents/ # 项目文档
# 克隆项目
git clone <repository-url>
cd 港美股APP
# 安装依赖
npm install
cp .env.example .env
# 数据库配置 DATABASE_URL=postgresql://username:password@localhost:5432/stock_trading_db # JWT密钥 JWT_SECRET=your-super-secret-jwt-key # 服务器配置 PORT=3001 NODE_ENV=development
# 创建数据库
createdb stock_trading_db
# 运行数据库迁移
psql -d stock_trading_db -f migrations/001_init_database.sql
# 同时启动前端和后端服务
npm run dev
# 或者分别启动
npm run dev:frontend # 前端服务 (http://localhost:5173)
npm run dev:backend # 后端服务 (http://localhost:3001)
| 页面 | 路由 | 功能描述 |
|---|---|---|
| 首页 | / | 市场概览、热门股票、资产概况 |
| 行情页面 | /market | 实时行情列表、涨跌排行 |
| 个股详情 | /stock/:symbol | K线图表、基本信息、交易操作 |
| 自选股 | /watchlist | 关注股票列表、价格提醒 |
| 交易页面 | /trade | 买入卖出操作、订单确认 |
| 资产页面 | /portfolio | 持仓详情、盈亏统计 |
| 交易记录 | /orders | 历史订单、成交记录 |
| 个人中心 | /profile | 账户设置、安全管理 |
POST /api/auth/login - 用户登录POST /api/auth/register - 用户注册POST /api/auth/logout - 用户登出GET /api/stocks - 获取股票列表GET /api/stocks/quote/:symbol - 获取股票报价GET /api/stocks/chart/:symbol - 获取K线数据POST /api/trades/order - 提交交易订单GET /api/trades/orders - 获取订单列表DELETE /api/trades/order/:id - 取消订单GET /api/portfolio/assets - 获取资产概况GET /api/portfolio/positions - 获取持仓列表GET /api/portfolio/transactions - 获取交易记录GET /api/watchlist - 获取自选股列表POST /api/watchlist - 添加自选股DELETE /api/watchlist/:symbol - 删除自选股# 构建前端
npm run build
# 构建后端
npm run build:backend
# 构建镜像
docker build -t stock-trading-app .
# 运行容器
docker run -p 3000:3000 -p 3001:3001 stock-trading-app
项目已配置 vercel.json,支持一键部署到Vercel:
# 安装Vercel CLI
npm i -g vercel
# 部署
vercel
# 代码检查
npm run lint
# 类型检查
npm run type-check
# 代码格式化
npm run format
# 运行测试
npm run test
# 测试覆盖率
npm run test:coverage
MIT License
欢迎提交Issue和Pull Request来改进项目!
如有问题或建议,请通过以下方式联系: