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

发布时间:2026/9/26 3:14:38

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),仅供参考
延伸阅读

更多相关文章

2026/9/26 4:29:42

蓝牙6.0信道探测与nRF54LM20A:低功耗高精度测距全解析

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

2026/9/26 4:29:42

KV Cache 原理与显存优化:从 PagedAttention 到云上 vLLM 部署实战

1. 从“云上跑开源模型”说起:KV Cache 是谁,为什么绕不开先抛一个很多人都遇到过的场景:你在云厂商买了GPU实例,高高兴兴把 Llama、Qwen 这类开源模型用 vLLM、TGI 或者 Ollama 跑起来,结果一压测就傻眼——并发一上去…

2026/9/26 4:29:42

金融数据统计Agent应用全景:架构、合规与落地指南

金融数据统计这个领域,在过去十年里基本是被报表工具和人工SQL支配的。每天清晨的取数、每月的监管报送、每季度的风险指标核查,所有流程都依赖一枚资深数据分析师的个人经验——知道那张表在哪、那个字段的口径是什么、哪个口径在哪个监管文件里有过修订…

2026/9/26 4:24:42

Linux 手动安装 CMake 3.27.6:自解压脚本与多版本共存指南

简介:这份资源提供 Linux 环境下 CMake 3.27.6 的官方安装脚本,面向需要在服务器或开发机上快速部署构建工具的 C 开发者与运维人员,可解决源码编译耗时、依赖繁琐的问题。压缩包内仅含 1 个 sh 脚本文件,整体约 48.9MB&#xff0…

2026/9/25 21:00:17

GAMP 5 基于风险的计算机化系统验证:软件分类与审计追踪实践

简介:《A Risk-Based Approach to Compliant GxP Computerized Systems》即业内熟知的GAMP 5指南,面向制药企业质量与IT合规人员、验证工程师及计算机化系统管理者,用于解决GxP法规环境下系统合规性难以科学落地的问题。文档以风险管理为主线…

2026/9/25 20:59:52

安全托管MSSP实战:从静态防御到人机协同的攻防运营与应急响应

简介:这份PPT围绕互联网业务安全托管服务展开,面向企业安全负责人、IT运维人员及关注MSSP/MSS选型的读者,重点回应传统安全过度依赖人工、碎片化静态防御难以对抗产业化攻击等痛点。资源共1个pptx文件,包体约30.63MB,以…

2026/9/26 0:04:28

画质修复APP怎么选?Wink影像修复能力与产品实力解析

现如今手机拍摄场景愈发丰富,演唱会直拍、漫展记录、老视频翻新、日常vlog录制,都会遇到画面模糊、噪点多、曝光失衡等问题,不少用户在挑选工具时比较在意一款画质修复APP能够兼顾修复效果与自然质感。Wink作为美图公司推出的全球化AI影像增强…

2026/9/26 0:04:28

超低能耗建筑K值要求能否满足?浙东铝业建筑型材解析

核心摘要浙东铝业的超低能耗系统门窗产品,资料显示保温性能可达 K≤1.4W/(㎡K),能够对应上海地区超低能耗住宅对门窗保温性能的应用需求。判断建筑是否满足超低能耗要求,不能只看铝型材本身,还需要结合玻璃、隔热条、密封系统、开…

2026/9/25 20:55:38

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/25 18:41:36

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/25 18:34:56

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑