PocketBase-又一个Go语言的开源框架火了

发布一下 0 0

《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的PocketBase 是一个开源后端框架,可用来学习搭建自己喜欢的任何东西。

PocketBase-又一个Go语言的开源框架火了

特征

  • 具有实时订阅的嵌入式数据库 ( SQLite )
  • 内置文件和用户管理
  • 方便的管理仪表板 UI
  • 和简单的 REST-API

管理Collection

Collection是应用程序数据所在的位置。
内部
Collection是简单的 SQL 表,其中包含一些用于常见数据约束和访问规则的附加信息。您可以从管理 UI 或 API 创建集合记录。

PocketBase-又一个Go语言的开源框架火了

API 规则

API 规则是您的集合访问权限和数据过滤器。每个集合有5个规则,对应具体的 API 动作:

  • listRule
  • viewRule
  • createRule
  • updateRule
  • deleteRule

管理用户

默认情况下,所有用户模型都具有以下属性:

  • id (用户唯一标识符)
  • created (用户创建的日期时间)
  • updated (用户更新日期时间)
  • email (用户电子邮件地址)
  • verified (表示用户邮箱是否经过验证)
  • lastResetSentAt (上次发送密码重置电子邮件的日期时间)
  • lastVerificationSentAt (发送验证电子邮件的最后日期时间)

除了上述属性之外,PocketBase 还允许您使用系统 profiles Collection添加任意数量的自定义字段。 用户字段将附加到新 profile属性下的每个用户模型。

PocketBase-又一个Go语言的开源框架火了

身份验证方法

PocketBase 为用户提供了多种认证方式:

  • 通过电子邮件和密码 (默认启用)
  • 通过 OAuth2 提供商 (Google、Facebook、GitHub 或 GitLab)
PocketBase-又一个Go语言的开源框架火了

客户端集成 (SDK)

与 PocketBase API 交互的最简单方法是使用官方 SDK 客户端之一:

  • JavaScript SDK (浏览器和节点)
  • Dart SDK (网络、移动、桌面和 cli)

您可以在每个 API 部分找到使用示例,但大多数时候您将使用 Records、 Users、 Files和 Realtime API。

PocketBase-又一个Go语言的开源框架火了

用作框架

与 Firebase、Supabase、Nhost 等其他后端解决方案的最大区别在于, PocketBase 实际上可以用作 Go 框架,使您能够构建自己的自定义应用程序特定业务逻辑,并且最后仍然有一个可移植的可执行文件.

最小的 PocketBase 应用程序如下所示:

package mainimport (    "log"    "github.com/pocketbase/pocketbase")func main() {    app := pocketbase.New()    if err := app.Start(); err != nil {        log.Fatal(err)    }}


—END—

开源协议:MIT license

开源地址:https://github.com/pocketbase/pocketbase

版权声明:内容来源于互联网和用户投稿 如有侵权请联系删除

本文地址:http://0561fc.cn/165612.html