54 lines
2.6 KiB
Markdown
54 lines
2.6 KiB
Markdown
# CaiWuXiTong 财务系统
|
||
|
||
本项目基于 Akaunting 二次开发,包含统一系统设置、用户和侧边栏管理、多个只读云数据库来源,以及财务业务页面。
|
||
|
||
## 开发者快速开始
|
||
|
||
1. 启动 Docker Desktop。
|
||
2. 在仓库根目录执行:
|
||
|
||
```bash
|
||
bash deploy/local-init.sh --build
|
||
```
|
||
|
||
3. 打开 `http://127.0.0.1:18088`。
|
||
4. 首次从脚本提示的本机私有凭据文件读取临时账号并登录;不要把内容发到聊天或提交到 Git。
|
||
5. 打开“系统设置 → 数据库管理 → 系统数据库”。
|
||
6. 点击系统数据库的“连接”,只填写负责人提供的系统数据库密码。
|
||
7. 使用系统数据库中属于自己的账号重新登录。
|
||
|
||
连接成功后,用户、侧边栏、系统设置、云数据库登记和共享快照会自动统一。不需要填写主机、端口、库名、账号、TLS、证书或两个云数据库密码,也不要复制生产环境或其他开发者的 `APP_KEY`、`.env`。
|
||
|
||
完整步骤和排错说明见 [LOCAL_DEPLOY.md](LOCAL_DEPLOY.md)。
|
||
|
||
## 数据库边界
|
||
|
||
- 本机 MySQL 只负责第一次启动和临时登录,不是团队业务数据源。
|
||
- 系统数据库统一保存应用用户、系统设置、侧边栏配置和云数据库连接记录。
|
||
- 云数据库属于只读上游,业务必须经过固定适配器、允许范围和共享按需查询快照读取。
|
||
- 系统数据库保存查询登记和共享快照,但不会执行 SQL,也不是 SQL Server 网络代理;标准模式由具备上游连通性的生产后台刷新进程获取数据。
|
||
- 开发者需要尚未缓存的新表或字段时,先在分支中实现固定只读查询、数据范围和刷新器;合并部署后再开放该范围,由后台进程生成首份共享快照。
|
||
- 不得把数据库密码、连接串、生产 `APP_KEY`、Token、SSH 私钥或 `runtime/.env` 提交到 Git。
|
||
|
||
## 开发和发布
|
||
|
||
- 团队协作与安全规则:[AGENTS.md](AGENTS.md)
|
||
- 本地测试环境:[LOCAL_DEPLOY.md](LOCAL_DEPLOY.md)
|
||
- 开发和正式部署:[docs/开发与部署SOP.md](docs/开发与部署SOP.md)
|
||
- 上游业务接入规范:[docs/ecommerce-finance-development.md](docs/ecommerce-finance-development.md)
|
||
- 视觉规范:[DESIGN.md](DESIGN.md)
|
||
|
||
正式发布只能使用已经合并的 `main`,并通过 `scripts/deploy-from-workstation.ps1` 在开发机构建提交 SHA 镜像。生产服务器只运行镜像,不执行源码构建。
|
||
|
||
## 技术基础
|
||
|
||
- PHP 8.3
|
||
- Laravel
|
||
- Vue
|
||
- Apache
|
||
- MySQL / MariaDB
|
||
- Docker
|
||
- Akaunting
|
||
|
||
上游 Akaunting 的版权和许可证信息见 [LICENSE.txt](LICENSE.txt)。
|