《开源精选》是我们分享GitHub、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容 。本期推荐的PocketBase 是一个开源后端框架,可用来学习搭建自己喜欢的任何东西 。
文章插图
特征
- 具有实时订阅的嵌入式数据库 ( SQLite )
- 内置文件和用户管理
- 方便的管理仪表板 UI
- 和简单的 REST-API
Collection是应用程序数据所在的位置 。
内部Collection是简单的 SQL 表,其中包含一些用于常见数据约束和访问规则的附加信息 。您可以从管理 UI 或 API 创建集合和记录 。
文章插图
API 规则
API 规则是您的集合访问权限和数据过滤器 。每个集合有5个规则,对应具体的 API 动作:
- listRule
- viewRule
- createRule
- updateRule
- deleteRule
默认情况下,所有用户模型都具有以下属性:
- id (用户唯一标识符)
- created (用户创建的日期时间)
- updated (用户更新日期时间)
- email (用户电子邮件地址)
- verified (表示用户邮箱是否经过验证)
- lastResetSentAt (上次发送密码重置电子邮件的日期时间)
- lastVerificationSentAt (发送验证电子邮件的最后日期时间)
除了上述属性之外,PocketBase 还允许您使用系统 profiles Collection添加任意数量的自定义字段 。用户字段将附加到新 profile属性下的每个用户模型 。
文章插图
身份验证方法
PocketBase 为用户提供了多种认证方式:
- 通过电子邮件和密码 (默认启用)
- 通过 OAuth2 提供商 (google、Facebook、GitHub 或 GitLab)
文章插图
客户端集成 (SDK)
与 PocketBase API 交互的最简单方法是使用官方 SDK 客户端之一:
- JAVAScript SDK (浏览器和节点)
- Dart SDK (网络、移动、桌面和 cli)
您可以在每个 API 部分找到使用示例,但大多数时候您将使用 Records、 Users、 Files和 Realtime API 。
文章插图
用作框架
与 Firebase、Supabase、Nhost 等其他后端解决方案的最大区别在于,PocketBase 实际上可以用作 Go 框架,使您能够构建自己的自定义应用程序特定业务逻辑,并且最后仍然有一个可移植的可执行文件.
最小的 PocketBase 应用程序如下所示:
package main import ( "log" "github.com/pocketbase/pocketbase" ) func main() { App := pocketbase.New() if err := app.Start(); err != nil { log.Fatal(err) } }
开源协议:MIT license
开源地址:https://github.com/pocketbase/pocketbase
推荐阅读
- 小孩语言发育缓慢的训练方法?儿童语言发展迟缓的训练方法
- 怎么样提高孩子的语言表达能力?作为家长你是如何培养孩子的语言表达能力
- 幼儿园中班语言活动说课稿《会动的房子》?会动的房子中班语言教案
- 唐朝语言是讲粤语吗?唐代的官话是粤语吗
- 2022年编程语言的十大必须要了解的后端框架
- 怎样避免作文写得空洞?语言空洞的作文举例
- 美女主播|又一个美女主播被抓了,真是大快人心
- 感动小故事200字用上心理动作语言等描写和修辞手法?感人小故事200字
- 少儿口才训练教程?少儿口才基础训练
- 国家翻译专业资格二级 非语言专业如何一次获得两个国家级翻译资格证书报名