supabase/supabase
GitHub: supabase/supabase
基于 PostgreSQL 的开源后端即服务平台,整合数据库、认证、API 生成、实时订阅、存储与边缘函数,为应用开发提供一体化的后端基础设施。
Stars: 105702 | Forks: 12991
## 文档
如需完整文档,请访问 [supabase.com/docs](https://supabase.com/docs)
要了解如何贡献,请访问 [入门指南](./DEVELOPERS.md)
## 工作原理
Supabase 是开源工具的组合。我们正在使用企业级的开源产品构建 Firebase 的功能。如果具有 MIT、Apache 2 或同等开源许可的工具和社区存在,我们将使用并支持该工具。如果工具不存在,我们会自己构建并将其开源。Supabase 并不是对 Firebase 的一对一映射。我们的目标是使用开源工具为开发者提供类似 Firebase 的开发体验。
**架构**
Supabase 是一个[托管平台](https://supabase.com/dashboard)。您可以注册并直接开始使用 Supabase,无需安装任何东西。
您也可以[自行托管](https://supabase.com/docs/guides/hosting/overview)并[在本地开发](https://supabase.com/docs/guides/local-development)。

- [Postgres](https://www.postgresql.org/) 是一个对象关系型数据库系统,经过 30 多年的积极开发,以其可靠性、功能稳健性和性能赢得了良好的声誉。
- [Realtime](https://github.com/supabase/realtime) 是一个 Elixir 服务器,允许您使用 websockets 监听 PostgreSQL 的插入、更新和删除操作。Realtime 通过轮询 Postgres 内置的复制功能获取数据库变更,将变更转换为 JSON,然后通过 websockets 将 JSON 广播给已授权的客户端。
- [PostgREST](http://postgrest.org/) 是一个 Web 服务器,可以将您的 PostgreSQL 数据库直接转换为 RESTful API。
- [GoTrue](https://github.com/supabase/gotrue) 是一个基于 JWT 的身份验证 API,简化了应用程序中的用户注册、登录和会话管理。
- [Storage](https://github.com/supabase/storage-api) 是一个用于管理 S3 文件的 RESTful API,并使用 Postgres 处理权限。
- [pg_graphql](http://github.com/supabase/pg_graphql/) 是一个 PostgreSQL 扩展,可对外提供 GraphQL API。
- [postgres-meta](https://github.com/supabase/postgres-meta) 是一个用于管理 Postgres 的 RESTful API,允许您获取表、添加角色以及运行查询等。
- [Kong](https://github.com/Kong/kong) 是一个云原生 API 网关。
#### 客户端库
我们的客户端库采用模块化方法。每个子库都是针对单一外部系统的独立实现。这是我们支持现有工具的方式之一。
| 语言 | 客户端 | 功能客户端(捆绑在 Supabase 客户端中) | ||||
|---|---|---|---|---|---|---|
| Supabase | PostgREST | GoTrue | Realtime | Storage | Functions | ⚡️ 官方 ⚡️ |
| JavaScript (TypeScript) | supabase-js | postgrest-js | auth-js | realtime-js | storage-js | functions-js |
| Flutter | supabase-flutter | postgrest-dart | gotrue-dart | realtime-dart | storage-dart | functions-dart |
| Swift | supabase-swift | postgrest-swift | auth-swift | realtime-swift | storage-swift | functions-swift |
| Python | supabase-py | postgrest-py | gotrue-py | realtime-py | storage-py | functions-py | 💚 社区 💚 |
| C# | supabase-csharp | postgrest-csharp | gotrue-csharp | realtime-csharp | storage-csharp | functions-csharp |
| Go | - | postgrest-go | gotrue-go | - | storage-go | functions-go |
| Java | - | - | gotrue-java | - | -java | - |
| Kotlin | supabase-kt | postgrest-kt | auth-kt | realtime-kt | storage-kt | functions-kt |
| Ruby | supabase-rb | postgrest-rb | - | - | - | - |
| Rust | - | postgrest-rs | - | - | - | - |
| Godot Engine (GDScript) | supabase-gdscript | - | - | - | - | - |
标签:AI开发, BaaS, PostgreSQL, Syscall, Web开发, 后端开发, 实时数据库, 对象存储, 无服务器, 测试用例, 请求拦截