新闻详情

新闻详情

首页 / 资讯中心 / 详情

Securo 开源个人财务管家开发者指南:从提交第一个 PR 到测试驱动,完整贡献路径

发布时间:2026/11/12 6:20:42来源:尧图网络
Securo 开源个人财务管家开发者指南:从提交第一个 PR 到测试驱动,完整贡献路径
Securo 开源个人财务管家开发者指南从提交第一个 PR 到测试驱动完整贡献路径【免费下载链接】securoOpen-source personal finance manager. Self-hosted, privacy-first.项目地址: https://gitcode.com/gh_mirrors/se/securoSecuro 是一个自托管、隐私优先的开源个人财务管理工具支持多账户、预算、规则引擎、银行同步与报表分析。本文带你走通贡献 Securo 的完整路径搭建开发环境、挑选首个任务、遵循测试驱动流程直到你的 PR 顺利被合并。先认识 Securo你将要贡献的项目Securo 让你把完整的财务数据握在自己手里——账户余额、支出习惯、资产增值、储蓄目标全部跑在你自己的基础设施上。启动后你会看到这样的仪表盘项目采用前后端分离的 monorepo 结构技术栈一目了然层技术栈后端FastAPI SQLAlchemy Alembic CeleryPython 3.11前端React TypeScript Vite Tailwind CSS数据库 / 队列PostgreSQL / Redis Celery核心目录速览backend/app/— API 路由、数据模型、业务服务与任务backend/alembic/versions/— 数据库迁移脚本90 个严格按编号链式串联backend/tests/— 190 个后端测试文件frontend/src/— React 页面、组件、Hooks 与库函数docs/— 设计文档与 PR 截图归档第一步3 条命令搭好本地开发环境克隆仓库并在本地拉起完整技术栈含 PostgreSQL、Redis、前后端git clone https://gitcode.com/gh_mirrors/se/securo cd securo docker compose up --build打开http://localhost:3000创建一个账户Securo 就已经跑起来了。官方建议用 mise 管理工具链仓库根目录与backend/、frontend/各有mise.toml任务定义一条mise backend:test就能跑完后端测试。 环境装好后先完整跑一遍测试见下文确认基线是绿的再开始改代码。第二步如何挑选第一个贡献任务官方贡献指南 CONTRIBUTING.md 给出了清晰建议从 Issue 出发浏览标记为good first issue或help wanted的问题选一个边界清晰的来。小改动免谈小 bug 修复、文档改进、翻译更新英文 葡萄牙语永远欢迎直接开 PR 即可。先在 Issue 里留言认领避免两个人做同一件事。改动核心机制前先沟通涉及账户、交易、预算、规则引擎、工作区、银行同步等核心逻辑比如规则引擎这类自动分类系统建议先提功能请求或到社区讨论确认方向一致再动手。规则引擎页面长这样——它就是典型的核心机制之一关于 AI 辅助开发项目明确欢迎使用 AI 写代码但原则是我们审查的是你不是 AI——方案要能自圆其说、质量要对齐现有代码、改动范围要严格匹配 Issue 要求合并后出问题也由你负责。用 AI 没问题别当甩手掌柜。第三步日常开发工作流分支 → 测试 → 提交标准流程如下全部来自 CONTRIBUTING.md从main切分支git checkout -b feature/your-feature后端测试与 CI 完全一致cd backend uv sync --all-extras # 首次运行按 uv.lock 精确还原依赖 uv run pytest前端检查cd frontend npm run lint npm test用清晰的提交信息提交仓库采用 Conventional Commits 风格feat: add CSV export for transactions fix: correct balance calculation on account closure docs: update setup instructions refactor: simplify rule engine matching推荐安装 pre-commit 钩子用prek或pip install pre-commit提交backend/*.py时自动执行ruff check和ty check配置读取自 backend/pyproject.toml本地与 CI 保持同一套标准。两个容易踩的坑改了pyproject.toml依赖后务必运行./scripts/lock.sh重新生成并一起提交uv.lockCI 会检查依赖漂移。新增数据库迁移时把编号接在当前最大编号之后如revision 077、down_revision 076并用python3 scripts/check_migration_chain.py验证链条仍是单线。CI 的 Migration Chain 任务会在你与main合并后检测编号冲突。第四步测试驱动开发——Securo 的质量底线Securo 的测试体系值得学习为新功能加测试是 PR 的硬性要求。后端内存 SQLite 异步 HTTP 客户端所有后端测试运行在内存 SQLite 上不依赖外部数据库。共享夹具定义在 backend/tests/conftest.py会话级建表、测试级事务回滚隔离client夹具基于 httpx 的ASGITransport直接调用 FastAPI 应用——所以 API 测试又快又稳。一个典型的预算 API 测试见 backend/tests/test_budgets_api.pyresponse await client.post( /api/budgets, json{category_id: str(cat.id), amount: 500, month: ...}, headersauth_headers, ) assert response.status_code 201想量化覆盖率时pytest --covapp --cov-reportterm-missing。前端Vitest Testing Library前端测试文件与源码同目录存放如month-stepper.test.tsx用npm test即vitest run执行。约定有三条详见 CONTRIBUTING.md统一通过/test/utils的renderWithProviders渲染组件它接好了 TanStack Query、路由和 i18n用/别名导入不用相对路径断言用户可见的东西渲染出的文案、被禁用的按钮、失败请求冒出的错误而不是内部状态。给 PR 配截图是 Securo 的传统涉及界面改动的 PR惯例是在docs/下归档截图。比如 SimpleFIN 银行重连功能的 PR 就留下了这样的截图方便评审者直观确认交互第五步提交能通过 CI 的 PR合并前自查清单✅ 一个 PR 只做一件事——聚焦单一功能或修复✅ PR 描述写清改了什么、为什么✅ 后端测试 前端 lint 全绿✅ 新功能附带测试✅ 新增用户可见文案时同步更新翻译EN PT-BR贡献即同意代码以 AGPL-3.0 许可 发布。常用路径速查资源路径贡献指南必读CONTRIBUTING.md后端依赖与工具链配置backend/pyproject.toml后端测试夹具backend/tests/conftest.py数据库迁移链backend/alembic/versions/迁移链校验脚本scripts/check_migration_chain.py前端脚本与依赖frontend/package.json前端测试配置frontend/vitest.config.ts设计与实现文档docs/许可协议LICENSE从一条docker compose up到一次被合并的贡献Securo 的流程没有任何神秘之处环境本地化、基线先验证、改动小而聚焦、测试自己跑过。挑一个good first issue今天就动手吧 【免费下载链接】securoOpen-source personal finance manager. Self-hosted, privacy-first.项目地址: https://gitcode.com/gh_mirrors/se/securo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/11 13:52:51

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/10 19:42:40

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/11 9:31:44

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/11 5:36:08

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/11 15:37:39

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/10 17:14:10

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉