pocketbase/pocketbase

PocketBase

从一个可执行文件理解数据库、认证、文件与实时 API

难度
简单
适合
零基础 / 入门 / 进阶
主要语言
Go
GitHub
60.6k
许可证
MIT
快照日期
2026年8月9日

先判断要不要学

这个项目值得拆什么?

PocketBase 是一个以 Go 构建的轻量后端,把嵌入式 SQLite、实时订阅、文件与用户管理、管理后台和 REST 风格 API 打包进单个可执行文件。它既能作为独立后端运行,也能作为 Go 框架扩展,特别适合初学者用最小运维成本理解常见 SaaS 后端能力如何被组织。

  1. 01

    单文件启动让学习重点回到数据模型、权限、认证和前端连接

  2. 02

    核心、API、表单、迁移、插件和管理 UI 的目录边界直接,适合逐层阅读

可以学什么

不只是看代码,而是找到产品的骨架

  • 学数据库
  • 学用户登录
  • 学产品结构
  • 学部署
  • 学完整项目组织
01

后端能力的最小打包

观察数据库、认证、文件、实时推送和管理界面如何在单一进程中形成可用产品。

core · apis · cmd · ui
02

从表单到领域规则

沿表单校验、模型事件和 API 处理学习如何把输入约束放到服务端。

forms · core · apis
03

可嵌入、可迁移的扩展方式

通过基础示例、迁移和插件目录理解从直接使用到 Go 定制的渐进路径。

examples/base · migrations · plugins

三段学习路径

从理解、修改到做出你的版本

0130 分钟先跑通

用管理后台建立一个最小数据后端。

  1. 按 README 获取并启动 PocketBase
  2. 创建一个带标题和状态的集合
  3. 在 API 预览中验证读写规则

完成标志:得到一个自带管理界面和 API 的本地数据服务。

022 小时动手改

把一个前端接到带用户权限的数据模型。

  1. 创建用户集合和登录流程
  2. 配置记录级访问规则
  3. 在前端完成登录和列表读写
  4. 验证未登录与越权请求

完成标志:得到一个具备认证和最小权限边界的小应用后端。

031 天做变体

用 Go 扩展一条服务端业务规则。

  1. 阅读 examples/base 的启动方式
  2. 定位 core 事件与 API 注册点
  3. 增加一条写入校验或自定义路由
  4. 编写迁移保存数据结构
  5. 验证升级和回滚场景

完成标志:得到一个可重建、包含自定义业务规则的 PocketBase 应用。

评分解释

每一分都要说清楚为什么

可复刻性24 / 25
24 / 25

单文件启动、可视化建模和直接 API 让原型成本很低。

文档与代码清晰度18 / 20
18 / 20

目录按后端职责划分,README 清楚说明定位与限制。

新手学习价值19 / 20
19 / 20

能以较低门槛学习数据、认证、权限和部署。

产品完整度14 / 15
14 / 15

常见小型应用后端能力和管理工具齐全。

vibe coding 代表性9 / 10
9 / 10

适合让 AI 辅助生成前端与规则,再用真实权限测试校验。

活跃度5 / 5
5 / 5

项目活跃,但 v1.0 前升级兼容性需谨慎。

新颖性3 / 5
3 / 5

单文件后端设计简洁,产品范式已较成熟。