You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Lxy 1dc4176625
fix: 接口能获取,但是目前数据获取存在问题,接口响应时间慢
3 months ago
..
init-scripts feat: 增加统一数据服务,目前为了方便调试,在这里一起使用,后期需要分开到专门的服务中 3 months ago
prisma fix: 接口能获取,但是目前数据获取存在问题,接口响应时间慢 3 months ago
src fix: 接口能获取,但是目前数据获取存在问题,接口响应时间慢 3 months ago
.dockerignore fix: 增加管理员界面;增加用户管理 3 months ago
.env.docker feat: 增加统一数据服务,目前为了方便调试,在这里一起使用,后期需要分开到专门的服务中 3 months ago
.env.example fix: 去除测试数据等 3 months ago
.env.production fix: 增加管理员界面;增加用户管理 3 months ago
.eslintrc.js feat: 初始化工程;已完成初步搭建,目前数据是测试数据,没有对接动量算法 3 months ago
.gitignore feat: 初始化工程;已完成初步搭建,目前数据是测试数据,没有对接动量算法 3 months ago
DOCKER_FILES.md fix: 增加管理员界面;增加用户管理 3 months ago
DOCKER_QUICKREF.md fix: 增加管理员界面;增加用户管理 3 months ago
DOCKER_README.md fix: 增加管理员界面;增加用户管理 3 months ago
DOCKER_SYNC.md fix: 增加管理员界面;增加用户管理 3 months ago
Dockerfile fix: 增加docker一键部署一键测试 3 months ago
README.md feat: 初始化工程;已完成初步搭建,目前数据是测试数据,没有对接动量算法 3 months ago
README_DOCKER_FULL.md fix: 增加管理员界面;增加用户管理 3 months ago
STARTUP_GUIDE.md feat: 初始化工程;已完成初步搭建,目前数据是测试数据,没有对接动量算法 3 months ago
dev-start.bat fix: 增加管理员界面;增加用户管理 3 months ago
dev-start.sh fix: 增加管理员界面;增加用户管理 3 months ago
docker-compose.db-only.yml feat: 增加统一数据服务,目前为了方便调试,在这里一起使用,后期需要分开到专门的服务中 3 months ago
docker-compose.dev.yml feat: 增加统一数据服务,目前为了方便调试,在这里一起使用,后期需要分开到专门的服务中 3 months ago
docker-compose.yml feat: 增加统一数据服务,目前为了方便调试,在这里一起使用,后期需要分开到专门的服务中 3 months ago
docker-start.bat fix: 增加管理员界面;增加用户管理 3 months ago
docker-start.sh fix: 增加管理员界面;增加用户管理 3 months ago
package-lock.json feat: 初始化工程;已完成初步搭建,目前数据是测试数据,没有对接动量算法 3 months ago
package.json feat: 初始化工程;已完成初步搭建,目前数据是测试数据,没有对接动量算法 3 months ago
start-all.bat feat: 增加统一数据服务,目前为了方便调试,在这里一起使用,后期需要分开到专门的服务中 3 months ago
start-all.sh feat: 增加统一数据服务,目前为了方便调试,在这里一起使用,后期需要分开到专门的服务中 3 months ago
start-db.bat feat: 增加统一数据服务,目前为了方便调试,在这里一起使用,后期需要分开到专门的服务中 3 months ago
start-db.sh feat: 增加统一数据服务,目前为了方便调试,在这里一起使用,后期需要分开到专门的服务中 3 months ago
stop-db.bat feat: 增加统一数据服务,目前为了方便调试,在这里一起使用,后期需要分开到专门的服务中 3 months ago
stop-db.sh feat: 增加统一数据服务,目前为了方便调试,在这里一起使用,后期需要分开到专门的服务中 3 months ago
tsconfig.json feat: 初始化工程;已完成初步搭建,目前数据是测试数据,没有对接动量算法 3 months ago
verify-docker.js fix: 增加管理员界面;增加用户管理 3 months ago

README.md

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

A股智投分析平台 - 后端服务

技术栈

  • Node.js 20.x LTS
  • Express 4.x
  • TypeScript 5.x
  • Prisma ORM
  • MySQL 8.0
  • Redis 7
  • Socket.io (WebSocket)
  • Winston (日志)

快速开始

1. 安装依赖

cd backend
npm install

2. 配置环境变量

cp .env.example .env
# 编辑 .env 文件,配置数据库连接等信息

3. 数据库迁移

# 生成 Prisma Client
npx prisma generate

# 执行数据库迁移
npx prisma migrate dev --name init

# 导入种子数据
npx prisma db seed

4. 启动开发服务器

npm run dev

服务器将在 http://localhost:3000 启动

5. 生产部署

# 构建
npm run build

# 启动
npm start

Docker 部署

使用 Docker Compose

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

# 查看日志
docker-compose logs -f app

# 停止服务
docker-compose down

单独构建镜像

docker build -t aguzhitou-backend .
docker run -p 3000:3000 --env-file .env aguzhitou-backend

API 文档

启动服务器后访问: http://localhost:3000/api/v1/health

详细 API 文档参考 docs/04-API接口文档.md

项目结构

backend/
├── src/
│   ├── config/          # 配置文件
│   ├── controllers/     # 控制器
│   ├── services/        # 业务逻辑
│   ├── routes/          # 路由定义
│   ├── middleware/      # 中间件
│   ├── utils/           # 工具函数
│   ├── websocket/       # WebSocket服务
│   ├── jobs/            # 定时任务
│   ├── types/           # 类型定义
│   └── app.ts           # 应用入口
├── prisma/
│   ├── schema.prisma    # 数据库模型
│   └── seed.ts          # 种子数据
├── docker-compose.yml   # Docker编排
├── Dockerfile           # Docker镜像
└── package.json

主要功能

  • 市场数据接口(指数、涨跌统计、分布)
  • 版块数据接口列表、详情、排名、K线
  • 股票数据接口搜索、详情、K线、新高新低
  • 用户系统(注册、登录、自选股)
  • WebSocket 实时数据推送
  • 定时数据同步任务

环境变量

变量名 说明 默认值
PORT 服务器端口 3000
DATABASE_URL MySQL连接URL -
REDIS_URL Redis连接URL redis://localhost:6379
JWT_SECRET JWT密钥 -
JWT_EXPIRES_IN JWT过期时间 7d
AKSHARE_URL AKShare服务地址 http://localhost:8000
LOG_LEVEL 日志级别 info

开发计划

  • 基础架构搭建
  • 数据库模型设计
  • API接口实现
  • WebSocket服务
  • 数据同步服务
  • Docker部署
  • 单元测试
  • 性能优化
  • 监控告警