新闻详情

新闻详情

首页 / 资讯中心 / 详情

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

发布时间:2026/9/26 3:14:35来源:尧图网络
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

相关资讯

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

较早相关资讯

最新相关资讯

写论文别硬扛:7款省级期刊论文工具整理 2026/9/26 3:55:20

写论文别硬扛:7款省级期刊论文工具整理

省级期刊发表门槛逐年抬高,从选题立意到查重降重再到格式规范,每个环节都在消耗研究生的时间与耐心。投稿被拒后反复修改是常态,与其硬扛不如借助工具提效。下面整理7款省级期刊论文写作工具,按需取用。aibiye官网直达入口&#x…

阅读更多 →
华为腾讯阿里都盯上的生意:不造机器人,却想控制所有机器人? 2026/9/26 3:55:20

华为腾讯阿里都盯上的生意:不造机器人,却想控制所有机器人?

作者:Evin编辑:刘致呈审核:徐徐出品:互联网江湖从年初的春晚表演,到4月份人形机器人半程马拉松打破人类世界记录;从上个月世界机器人大会上,各路机器人开始比打螺丝、搬东西,到最近启…

阅读更多 →
Windows隐私清理工具:文件粉碎+磁盘擦除,彻底删除不可恢复,安装包下载 2026/9/26 3:55:14

Windows隐私清理工具:文件粉碎+磁盘擦除,彻底删除不可恢复,安装包下载

前几天卖旧电脑,格式化硬盘之后用恢复软件扫了一遍,发现之前删的文件全都能找回来。当时冷汗就下来了。后来找到一款Windows隐私数据清理工具,不光能清缓存,还能把文件彻底粉碎,恢复软件也救不回来。解压后双击exe直接…

阅读更多 →
Visual Studio 2022 社区版合规使用指南:免费、安全、企业级开发 2026/9/26 3:55:14

Visual Studio 2022 社区版合规使用指南:免费、安全、企业级开发

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
# 阿里云天池龙珠计划 SQL 训练营 - Task06 part5 2026/9/26 3:55:14

# 阿里云天池龙珠计划 SQL 训练营 - Task06 part5

老铁们,集合了! 今天继续TASK06。 SQL训练营的内容,我们已经全部学完了,TASK06主要是练习题,帮大家掌握知识点。使用的数据,都是真实数据,更贴近我们的实际工作情况。 今天是第五部分&#xff…

阅读更多 →
PS换白底三大方法:新手/专业/AI适用场景与避坑指南 2026/9/26 3:55:07

PS换白底三大方法:新手/专业/AI适用场景与避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

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

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