Skip to content

UpUpcl/stock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

养基宝式基金管理系统

一个基于 Go + Vue 的 Web 端基金管理系统,提供实时看板、持仓管理、交易记录和 AI 投资建议等功能。

功能特性

  • 实时看板:基金行情、持仓收益、今日盈亏等实时展示
  • 持仓管理:多基金持仓跟踪、成本收益计算
  • 交易记录:买入/卖出记录管理
  • 智能分析:基于大模型的个性化投资建议
  • 多用户支持:家庭成员共享使用

技术栈

后端

  • 框架: Gin
  • ORM: GORM
  • 数据库: PostgreSQL
  • 缓存: Redis
  • WebSocket: gorilla/websocket
  • 定时任务: robfig/cron
  • 日志: zap
  • 配置管理: Viper

前端

  • 框架: Vue 3
  • UI 组件: Element Plus
  • 图表: ECharts

项目结构

stock/
├── cmd/
│   ├── api/main.go              # API服务入口
│   └── crawler/main.go          # 爬虫服务入口
├── internal/
│   ├── app/                     # 应用程序
│   ├── config/                  # 配置管理
│   ├── models/                  # 数据模型
│   ├── repository/              # 数据访问层
│   ├── service/                 # 业务逻辑层
│   ├── crawler/                 # 数据爬取模块
│   ├── ai/                      # 大模型接口
│   ├── websocket/               # WebSocket推送
│   ├── handler/                 # HTTP处理器
│   ├── router/                  # 路由配置
│   └── scheduler/               # 定时任务
├── web/                         # 前端资源
├── configs/
│   └── config.yaml
├── Dockerfile
├── docker-compose.yml
└── README.md

快速开始

环境要求

  • Go 1.21+
  • PostgreSQL 13+
  • Redis 6+
  • Node.js 16+ (前端开发)

1. 克隆项目

cd /Users/bytedance/go/src/daily/stock

2. 配置环境变量

编辑 configs/config.yaml,修改数据库和 Redis 连接信息:

database:
  host: localhost
  port: 5432
  user: postgres
  password: "${DB_PASSWORD}"
  dbname: fund_management

redis:
  host: localhost
  port: 6379
  password: "${REDIS_PASSWORD}"

3. 启动依赖服务 (使用 Docker Compose)

docker-compose up -d postgres redis

4. 运行数据库迁移

go run cmd/api/main.go

首次运行会自动创建数据库表。

5. 启动 API 服务

go run cmd/api/main.go

服务将在 http://localhost:8080 启动。

6. (可选) 启动爬虫服务

go run cmd/crawler/main.go

API 文档

认证相关

方法 路径 说明
POST /api/v1/auth/register 用户注册
POST /api/v1/auth/login 用户登录
GET /api/v1/user/profile 获取用户信息

基金相关

方法 路径 说明
GET /api/v1/funds 获取基金列表
GET /api/v1/funds/search 搜索基金
GET /api/v1/funds/:code 获取基金详情
GET /api/v1/funds/:code/history 获取历史净值
GET /api/v1/funds/:code/realtime 获取实时估值

交易相关

方法 路径 说明
GET /api/v1/transactions 获取交易记录
POST /api/v1/transactions 创建交易
GET /api/v1/transactions/:id 获取交易详情
DELETE /api/v1/transactions/:id 删除交易

持仓相关

方法 路径 说明
GET /api/v1/positions 获取持仓列表
GET /api/v1/positions/:code 获取持仓详情

看板相关

方法 路径 说明
GET /api/v1/dashboard/overview 看板总览
GET /api/v1/dashboard/profit 收益汇总
GET /api/v1/dashboard/advice AI投资建议
POST /api/v1/dashboard/chat AI对话

定时任务

系统配置了以下定时任务:

  • 盘中每分钟 (9:00-15:00): 更新实时估值
  • 每天晚上8点: 更新昨日净值
  • 每天晚上9点: 更新历史净值

数据源

系统使用天天基金网的免费 API 接口:

  • 实时估值: http://fundgz.1234567.com.cn/js/{基金代码}.js
  • 基金详情: http://fundf10.eastmoney.com/F10DataApi.aspx
  • 历史净值: http://fund.eastmoney.com/f10/F10DataApi.aspx

开发

运行测试

go test ./...

构建

go build -o bin/api cmd/api/main.go
go build -o bin/crawler cmd/crawler/main.go

Docker 部署

# 构建镜像
docker build -t fund-management:latest .

# 使用 docker-compose 启动
docker-compose up -d

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors