Skip to content

Latest commit

 

History

48 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UniStock Logo

同心仓(UniStock)

家庭 A 股信息分享平台

License: MIT Go Flutter Docker GitHub stars

一个面向家庭用户的 A 股信息共享与协作平台,家人之间可以共享持仓、交流策略、记录笔记,让投资决策更透明。


📖 目录


⚠️ 重要说明

本项目为信息展示与家庭协作工具,不具备真实交易能力。

  • App 内的 持仓、买入、卖出 等操作均为 本地模拟记录,仅用于个人投资信息管理,不会连接任何真实券商系统,也无法进行真实股票交易
  • 股票行情数据需要 自行导入:你可以将 A 股历史数据手动导入本地 MySQL 数据库,也可以通过系统自带的 股票数据采集功能(管理后台 → 采集管理)定时采集 A 股行情数据
  • 本项目不构成任何投资建议,使用者应自行承担投资决策的风险

✨ 功能特性

  • 股票行情 — 搜索 A 股、查看最新行情与 K 线图表、综合条件筛选
  • 持仓管理 — 买入/卖出记录、持仓盈亏一览、交易历史与撤回
  • 自选分组 — 自定义分组管理自选股票、拖拽排序、跨组移动
  • 家庭共享 — 查看家庭成员持仓与策略,首页动态实时同步
  • 投资笔记 — 对个股撰写、分享笔记,支持多成员协作
  • 交易策略 — 设定买入/卖出策略(止盈止损/目标价位),策略状态管理
  • 通知中心 — 策略触发通知、全部已读等
  • 管理后台 — 用户管理、系统设置、股票数据采集调度与监控
  • 安全认证 — JWT 双令牌无感刷新、单设备登录、密保找回密码、邀请码注册

🏗 技术架构

层级 技术栈
移动端 Flutter 3.11 · Dart · Riverpod · GoRouter · Dio
后端 Go 1.25 · Gin · GORM · JWT · Zap
数据库 MySQL 8.0 · Redis
部署 Docker Compose · Nginx

📁 项目结构

UniStock/
├── backend/                 # Go 后端服务
│   ├── cmd/                 # 程序入口
│   ├── config/              # 配置加载
│   ├── internal/            # 核心业务逻辑
│   │   ├── dto/             # 数据传输对象
│   │   ├── handler/         # HTTP 处理器
│   │   ├── middleware/       # 中间件(JWT、CORS、Recovery)
│   │   ├── model/           # 数据模型
│   │   ├── repository/      # 数据访问层
│   │   ├── router/          # 路由注册
│   │   └── service/         # 业务服务层
│   ├── pkg/                 # 公共工具包
│   ├── deploy/              # 部署配置
│   │   ├── docker-compose.yml
│   │   ├── Dockerfile.backend.runtime
│   │   ├── mysql/           # 数据库初始化脚本
│   │   └── nginx/           # Nginx 配置模板
│   └── docs/                # API 设计文档
│
├── frontend/                # Flutter 移动端
│   ├── lib/
│   │   ├── config/          # 应用配置
│   │   ├── models/          # 数据模型
│   │   ├── pages/           # 页面视图
│   │   │   ├── auth/        # 登录/注册
│   │   │   ├── main/        # 首页/持仓/自选/我的
│   │   │   ├── stock/       # 股票详情/K线
│   │   │   ├── trade/       # 交易记录
│   │   │   ├── admin/       # 管理后台
│   │   │   └── user/        # 用户中心
│   │   ├── services/        # API 服务 & Token 管理
│   │   ├── providers/       # Riverpod 状态管理
│   │   ├── app.dart         # 应用初始化
│   │   └── main.dart        # 入口
│   ├── assets/              # 图标与图片资源
│   └── android/ & ios/      # 平台工程
│
└── LICENSE

🚀 快速开始

环境要求

  • 后端:Go ≥ 1.25、MySQL 8.0+、Redis 6+
  • 前端:Flutter SDK ≥ 3.11、Dart ≥ 3.11

后端

cd backend

# 1. 复制并编辑环境变量
cp .env.example .env
# 编辑 .env 填入 MySQL/Redis/JWT 等配置

# 2. 安装依赖
go mod tidy

# 3. 运行
go run cmd/main.go

服务默认监听 :8080,首次启动会自动创建管理员账户和系统默认设置。

前端

cd frontend

# 1. 安装依赖
flutter pub get

# 2. 生成 JSON 序列化代码
dart run build_runner build --delete-conflicting-outputs

# 3. 运行(Android/iOS)
flutter run

请在 lib/config/ 中配置后端 API 地址。


🐳 部署指南

项目提供了完整的 Docker Compose 部署方案,详见 backend/deploy/ 目录:

  • 一键部署docker-compose.yml 包含 MySQL、Redis、后端服务、Nginx 四个容器
  • 详细步骤:参阅 DEPLOY_CENTOS7_DOCKER_COMPOSE.md
  • 打包脚本scripts/package_release.ps1(Windows 环境)
cd backend/deploy
docker-compose up -d

📚 API 文档

完整的 RESTful API 设计文档位于 backend/docs/api_design.md,涵盖:

  • 统一响应结构与错误码定义
  • 认证模块(注册/登录/Token 刷新/密码重置)
  • 股票行情(搜索/K 线/综合筛选)
  • 持仓交易(买入/卖出/撤回)
  • 自选分组管理
  • 笔记与策略
  • 通知系统
  • 管理后台

📸 截图展示

首页 股票详情 持仓
首页 股票详情 持仓
自选股 条件筛选 笔记与策略 个人主页
自选股 条件筛选 笔记与策略 个人主页

🤝 贡献指南

  1. Fork 本仓库
  2. 创建特性分支:git checkout -b feature/your-feature
  3. 提交更改:git commit -m "feat: add your feature"
  4. 推送分支:git push origin feature/your-feature
  5. 提交 Pull Request

📄 许可证

本项目采用 MIT 许可证 开源。

Copyright © 2026 RecursiveVar

About

同心仓(UniStock)是一个面向家庭内部的A股股票信息分享平台,支持家庭成员之间查看彼此持仓、分享笔记和投资策略,同时也提供多条件股票检索、策略触发提醒等功能。

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages