Home
Softono
z

zxc7563598

Professional software vendor delivering innovative solutions on the Softono platform. Specialized in both open-source and proprietary software development.

Total Products
1

Software by zxc7563598

fintrack-backend
Open Source

fintrack-backend

# 🧾 FinBoard Backend [![Shop](https://img.shields.io/badge/FinBoard-Vue3前端项目地址-3eaf7c?style=for-the-badge&logo=vue.js)](https://github.com/zxc7563598/fintrack-frontend) 基于 **Go + Wails** 开发的个人财务管理应用后端,支持 **桌面应用模式** 和 **服务端模式**,可配合前端进行账单导入、统计与分析。 **本项目已经经由 Zread 解析完成,如果需要快速了解项目,可以点击此处进行查看:[了解本项目](https://zread.ai/zxc7563598/fintrack-backend)** --- ## ✨ 功能亮点 - 🖥️ **桌面应用模式**:Wails 打包的跨平台桌面客户端 - 🌐 **服务端模式**:Web API 服务,可部署到服务器使用 - 🔐 **安全加密**:支持 **RSA + AES** 混合加密,保障数据安全 - 🌍 **国际化支持**:内置中英文多语言切换 - 📊 **账单管理**:支持支付宝/微信账单导入与可视化分析 - 🤖 **AI 报告**:通过 DeepSeek 整理账单类型,对账单进行分析 --- 首次启动建议执行: ```bash make deps # 同步 go mod 依赖 make help # 查看所有可用任务 ``` --- ## 🚀 使用 Makefile 的统一工作流 | 指令 | 说明 | | --- | --- | | `make deps` | 安装 / 更新 Go 依赖 | | `make fmt` | 格式化后端 Go 代码 | | `make test` | 运行全部单元测试 | | `make run-server` | 启动服务端开发模式(`go run . -server`) | | `make dev-desktop` | 启动 Wails 热重载调试 | | `make build-server` | 输出 `build/bin/finance-tracker-server` | | `make build-desktop` | 构建桌面客户端(Windows/macOS/Linux) | | `make build-all` | 同时完成服务端与桌面产物 | | `make clean` | 清除由 Makefile 生成的构建目录 | > 所有构建与运行步骤都无需再调用 `build.sh`,统一通过 Makefile 即可。 --- ## ⚙️ 配置与密钥 1. 将根目录的 `config.yaml.example` 复制到 `configs/config.yaml`,按需修改: ```yaml database: sqlite_path: "data/database" jwt: secret: "替换为自己的随机字符串" access_token_exp: 15m refresh_token_exp: 168h ``` 2. 生成 RSA 私钥 `private.pem` 并放在项目根目录,前端需对应 `public_key.pem`: ```bash openssl genpkey -algorithm RSA -out private.pem -pkeyopt rsa_keygen_bits:2048 openssl pkey -in private.pem -pubout -out frontend/public/public_key.pem ``` --- ## 🧑‍💻 开发调试 ```bash make run-server # 以 REST API 模式运行,默认端口 9090 make dev-desktop # 桌面开发模式,自动注入 frontend/build 资源 ``` --- ## 📂 项目结构 ``` . ├── app.go # Wails App 实例 ├── main.go # 入口 ├── Makefile # 统一运行 / 构建入口 ├── configs/ │ └── config.yaml # 运行时配置 ├── config.yaml.example # 配置模板 ├── data/ │ ├── database/ # SQLite 文件 │ └── uploads/ # 原始账单/附件 ├── frontend/build/ # Vue3 + Vuetify 打包结果 ├── internal/ │ ├── dto/ # 结构体定义目录 │ ├── handler/ # HTTP处理器(等同于Controller) │ ├── model/ # 数据模型 │ ├── repository/ # 数据模型访问层 │ ├── router/ # 路由 │ └── service/ # 业务逻辑层 ├── pkg/ │ ├── config/ # 配置 │ ├── i18n/ # 多语言 │ ├── jwt/ # JWT │ ├── middleware/ # 中间件 │ └── utils/ # 通用工具 └── wails.json # 桌面客户端配置 ``` --- ## 🚢 构建与部署 ### 服务端 ```bash make build-server ./build/bin/finance-tracker-server -server # 默认监听 http://0.0.0.0:9090 ``` ### 桌面客户端 ```bash make build-desktop # macOS 产物:build/bin/FinBoard.app # Windows 产物:build/bin/FinBoard.exe ``` macOS 未签名的应用需执行: ```bash xattr -d com.apple.quarantine build/bin/FinBoard.app ``` --- 欢迎提交 Issue / PR,一起完善 FinBoard 的记账体验 🙌

Database Personal Finance API Tools
23 Github Stars