# FundVal-Live **Repository Path**: jasmine-leaf/FundVal-Live ## Basic Information - **Project Name**: FundVal-Live - **Description**: No description available - **Primary Language**: Unknown - **License**: AGPL-3.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-02-05 - **Last Updated**: 2026-03-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Fundval ![GitHub stars](https://img.shields.io/github/stars/Ye-Yu-Mo/FundVal-Live?style=social) ![GitHub views](https://komarev.com/ghpvc/?username=Ye-Yu-Mo&repo=FundVal-Live&color=blue&style=flat-square&label=views) **盘中基金实时估值与逻辑审计系统** 拒绝黑箱,拒绝情绪化叙事。基于透明的持仓穿透 + 实时行情加权计算 + 硬核数学模型,让基金估值回归数学事实。 试用网址:https://fund.jasxu.dpdns.org/ **警告**:试用环境请勿使用真实持仓数据和 API Key 服务器内存和 CPU 性能较低,仅做使用演示 --- ## 加入讨论群组 [issue - 讨论群组](https://github.com/Ye-Yu-Mo/FundVal-Live/issues/41) ## 快速开始 整个项目分为服务端 客户端两部分 服务端可以使用 Docker 或手动部署 ### 最快方式(Docker) ```bash curl -O https://raw.githubusercontent.com/Ye-Yu-Mo/FundVal-Live/main/docker-compose.yml docker-compose up ``` 访问 http://localhost **首次启动**:系统会自动同步基金数据,需要等待几分钟。 如果需要修改前端端口号,请修改 `docker-compose.yml` ```yaml frontend: image: jasamine/fundval-frontend:latest ports: - "80:80" depends_on: - backend networks: - fundval ``` ### 手动部署 #### 必需组件 - **Python**: 3.13+ - **Node.js**: 20+ - **npm**: 9+ - **uv**: Python 包管理器 - **数据库**: SQLite 3.x 或 PostgreSQL 16+ #### 可选组件 - **Redis**: 用于 Celery 任务队列(可选) - **Nginx**: 生产环境反向代理(推荐) #### 开始部署 ```bash git clone https://github.com/Ye-Yu-Mo/FundVal-Live.git cd FundVal-Live ``` 运行构建脚本 ```bash chmod +x build.sh ./build.sh ``` 依次选择 构建前端,端口号设定,数据库初始化,静态文件收集 ```bash chmod +x start.sh stop.sh ./start.sh ``` ### 管理员设置(必读) 启动之后,需要在日志中获取 Bootstrap Key - Docker 用户:`docker-compose logs backend | grep 'BOOTSTRAP KEY'` - 手动部署用户:运行 `./start.sh` 即可看到 然后访问 `http://localhost/initialize`(需要换成你自己的 IP + 端口)进行初始化 填入 BOOTSTRAP KEY,配置管理员账户和密码,是否开通注册功能 如果开启注册功能,需要**重新启动后端** ## 技术栈 - **Frontend**: React 19 + Vite + Ant Design + ECharts - **Backend**: Django 6 + DRF + Celery - **Database**: PostgreSQL 16 - **Cache**: Redis 7 - **Platform**: Web + Desktop (Tauri) + Android (Capacitor) ### 客户端 可以通过Web页面直接访问使用,无需客户端 其他版本客户端,需前往 [Releases](https://github.com/Ye-Yu-Mo/FundVal-Live/releases/latest) 下载最新版本: 目前支持 * 安卓客户端 * macOS (ARM64) * macOS (x86_64) * Windows * Linux ## 架构 ``` frontend (Nginx) ↓ backend (Django + Gunicorn) ↓ PostgreSQL + Redis ↓ Celery Worker + Beat ``` 前端通过 Nginx 反向代理 `/api/` 到后端。 ### 容器启动流程 Docker 容器启动时,`backend/entrypoint.sh` 会自动执行: 1. 等待数据库就绪 2. 运行数据库迁移 (`migrate`) 3. 收集静态文件 (`collectstatic`) 4. 检查系统初始化状态 (`check_bootstrap`) 5. **自动同步基金数据**(仅在数据库为空时,`sync_funds --if-empty`) 6. 启动应用 如需手动同步基金数据: ```bash # Docker 环境 docker-compose exec backend python manage.py sync_funds # 手动部署 cd backend && uv run python manage.py sync_funds ``` ## 项目结构 ``` fundval/ ├── frontend/ # React 前端 ├── backend/ # Django 后端 ├── docker-compose.yml # Docker 编排 └── .github/workflows/ # CI/CD ``` --- ## 开源协议 本项目采用 **GNU Affero General Public License v3.0 (AGPL-3.0)** 开源协议。 **这意味着**: - 你可以自由使用、修改、分发本软件 - 个人使用无需开源你的修改 - 如果你用本项目代码提供网络服务(SaaS),必须开源你的修改 - 衍生作品必须使用相同协议 **为什么选择 AGPL-3.0?** - 金融工具需要透明度,用户有权知道估值逻辑 - 防止闭源商业化,确保改进回流社区 - 保护开源生态,避免"拿来主义" 详见 [LICENSE](LICENSE) 文件。 --- ## 免责声明 本项目提供的数据与分析仅供技术研究使用,不构成任何投资建议。市场有风险,代码无绝对,交易需谨慎。 --- ## Star History [![Star History Chart](https://api.star-history.com/svg?repos=Ye-Yu-Mo/FundVal-Live&type=date&legend=top-left)](https://www.star-history.com/#Ye-Yu-Mo/FundVal-Live&type=date&legend=top-left)