From 9cce2618fd9a041e42c735891d4c92a7607c5f8c Mon Sep 17 00:00:00 2001 From: Paul Copplestone Date: Mon, 7 Sep 2020 13:06:46 +0800 Subject: [PATCH 1/5] docs: adds some more detail to the main readme which should hopefully clarify how we structure Supabase --- README.md | 40 +++++++++++++++++++++++++++++++++++----- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index b772cfc4106..3b7d4067f99 100644 --- a/README.md +++ b/README.md @@ -21,18 +21,48 @@ We are currently in Public Alpha. Watch "releases" of this repo to get notified of major updates. +

Watch this repo

---- -## Also by Supabase -- [Supabase Realtime](https://github.com/supabase/realtime): Listen to your to PostgreSQL database in realtime via websockets. Built with Elixir. -- [Supabase Postgres](https://github.com/supabase/postgres): Unmodified Postgres with some useful plugins. -- [@supabase/postgrest-js](https://github.com/supabase/postgrest-js): Isomorphic JavaScript client for PostgREST. -- [@supabase/doctest-js](https://github.com/supabase/doctest-js): Run JSDoc style doc examples as tests within your test suite. +## How it works + +Supabase is a combination of open source tools. We’re building the features of Firebase using enterprise-grade, open source products. If the tools and communities exist, with an MIT, Apache 2, or equivelant open license, we will use and support that tool. If the tool doesn't exist, we build and open source it ourselves. Supabase is not a 1-to-1 mapping of Firebase. Our aim is to give developers a Firebase-like developer experience using open source tools. + +**Current architecture** + +Supabase is a [hosted platform](https://app.supabase.io). You can sign up and start using Supabase without installing anything. We are still creating the local development experience - this is now our core focus, along with platform stability. + + +![Architecture](https://supabase.io/assets/images/supabase-architecture-0a162cd9b23053a55074d7dda5b6c4ad.png) + + +- [PostgreSQL](https://www.postgresql.org/) is an object-relational database system with over 30 years of active development that has earned it a strong reputation for reliability, feature robustness, and performance. +- [Realtime](https://github.com/supabase/realtime) is an Elixir server that allows you to listen to PostgreSQL inserts, updates, and deletes using websockets. Supabase listens to Postgres' built-in replication functionality, converts the replication byte stream into JSON, then broadcasts the JSON over websockets. +- [PostgREST](http://postgrest.org/) is a web server that turns your PostgreSQL database directly into a RESTful API +- [pg-api](https://github.com/supabase/pg-api) is a RESTful API for managing your Postgres, allowing you to fetch tables, add roles, and run queries etc. +- [GoTrue](https://github.com/netlify/gotrue) is an SWT based API for managing users and issuing SWT tokens. +- [Kong](https://github.com/Kong/kong) is a cloud-native API gateway. + + + +**Client libraries** + +We structure our client libraries in a modular way so that each sub-library can be a standalone library for some other external open source system. This is just one of the ways we try to support existing communities. + +| Repo | Description | Official | Community | +|-----------------------|---------------------------------------------------------------------------------|--------------------------------------------------|------------------| +| `supabase-{lang}` | Combines various libraries and adds enrichments. | [`JS`](https://github.com/@supabase/supabase-js) | `C#` \| `Python` | +| -- `postgrest-{lang}` | Client library to work with [PostgREST](https://github.com/postgrest/postgrest) | `JS` | `C#` \| `Python` | +| -- `realtime-{lang}` | Client library to work with [Realtime](https://github.com/supabase/realtime) | `JS` | `C#` \| `Python` | +| -- `gotrue-{lang}` | Client library to work with [GoTrue](https://github.com/netlify/gotrue) | `JS` | `C#` \| `Python` | + + +---- ## Sponsors From c29d0f0622e39df7e8e6aaa632e73c769a351dd1 Mon Sep 17 00:00:00 2001 From: Copple <10214025+kiwicopple@users.noreply.github.com> Date: Mon, 7 Sep 2020 17:26:36 +0800 Subject: [PATCH 2/5] Update README.md Makes the table more readable on mobile --- README.md | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 3b7d4067f99..b96bcbedb38 100644 --- a/README.md +++ b/README.md @@ -54,12 +54,21 @@ Supabase is a [hosted platform](https://app.supabase.io). You can sign up and st We structure our client libraries in a modular way so that each sub-library can be a standalone library for some other external open source system. This is just one of the ways we try to support existing communities. -| Repo | Description | Official | Community | -|-----------------------|---------------------------------------------------------------------------------|--------------------------------------------------|------------------| -| `supabase-{lang}` | Combines various libraries and adds enrichments. | [`JS`](https://github.com/@supabase/supabase-js) | `C#` \| `Python` | -| -- `postgrest-{lang}` | Client library to work with [PostgREST](https://github.com/postgrest/postgrest) | `JS` | `C#` \| `Python` | -| -- `realtime-{lang}` | Client library to work with [Realtime](https://github.com/supabase/realtime) | `JS` | `C#` \| `Python` | -| -- `gotrue-{lang}` | Client library to work with [GoTrue](https://github.com/netlify/gotrue) | `JS` | `C#` \| `Python` | +- `supabase-{lang}`: Combines libraries and adds enrichments. + - `postgrest-{lang}`: Client library to work with [PostgREST](https://github.com/postgrest/postgrest) + - `realtime-{lang}`: Client library to work with [Realtime](https://github.com/supabase/realtime) + - `gotrue-{lang}`: Client library to work with [GoTrue](https://github.com/netlify/gotrue) + + +| Repo | Official | Community | +|-----------------------|--------------------------------------------------|------------------| +| `supabase-{lang}` | [`JS`](https://github.com/@supabase/supabase-js) | `C#` \| `Python` | +| -- `postgrest-{lang}` | `JS` | `C#` \| `Python` | +| -- `realtime-{lang}` | `JS` | `C#` \| `Python` | +| -- `gotrue-{lang}` | `JS` | `C#` \| `Python` | + + + ---- From 60e3b09c4d469aa1a2e19b50652c8a18fafc9b3f Mon Sep 17 00:00:00 2001 From: Copple <10214025+kiwicopple@users.noreply.github.com> Date: Mon, 7 Sep 2020 18:04:45 +0800 Subject: [PATCH 3/5] Attempt to make the table clearer --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index b96bcbedb38..495ed4c6c23 100644 --- a/README.md +++ b/README.md @@ -52,9 +52,9 @@ Supabase is a [hosted platform](https://app.supabase.io). You can sign up and st **Client libraries** -We structure our client libraries in a modular way so that each sub-library can be a standalone library for some other external open source system. This is just one of the ways we try to support existing communities. +Our client libraries are modular so that each sub-library works as a standalone implementation for external open source systems. This is just one of the ways we try to support existing communities. -- `supabase-{lang}`: Combines libraries and adds enrichments. +- **`supabase-{lang}`**: Combines libraries and adds enrichments. - `postgrest-{lang}`: Client library to work with [PostgREST](https://github.com/postgrest/postgrest) - `realtime-{lang}`: Client library to work with [Realtime](https://github.com/supabase/realtime) - `gotrue-{lang}`: Client library to work with [GoTrue](https://github.com/netlify/gotrue) @@ -62,10 +62,10 @@ We structure our client libraries in a modular way so that each sub-library can | Repo | Official | Community | |-----------------------|--------------------------------------------------|------------------| -| `supabase-{lang}` | [`JS`](https://github.com/@supabase/supabase-js) | `C#` \| `Python` | -| -- `postgrest-{lang}` | `JS` | `C#` \| `Python` | -| -- `realtime-{lang}` | `JS` | `C#` \| `Python` | -| -- `gotrue-{lang}` | `JS` | `C#` \| `Python` | +| **`supabase-{lang}`** | [`JS`](https://github.com/@supabase/supabase-js) | `C#` \| `Python` \| `Rust` | +| `postgrest-{lang}` | [`JS`](https://github.com/@supabase/postgrest-js) | [`C#`](https://github.com/supabase/postgrest-csharp) \| [`Python`](https://github.com/supabase/postgrest-py) \| [`Rust`](https://github.com/supabase/postgrest-rs) | +| `realtime-{lang}` | [`JS`](https://github.com/@supabase/realtime-js) | `C#` \| `Python` \| `Rust` | +| `gotrue-{lang}` | [`JS`](https://github.com/@supabase/gotrue-js) | `C#` \| `Python` \| `Rust` | From a9e1681ea1a168e82ba5b3af3fd5aef25461f9fd Mon Sep 17 00:00:00 2001 From: Copple <10214025+kiwicopple@users.noreply.github.com> Date: Mon, 7 Sep 2020 18:23:20 +0800 Subject: [PATCH 4/5] Better writing --- README.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 495ed4c6c23..e6c83961989 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,7 @@ Supabase is a [hosted platform](https://app.supabase.io). You can sign up and st **Client libraries** -Our client libraries are modular so that each sub-library works as a standalone implementation for external open source systems. This is just one of the ways we try to support existing communities. +Our client library is modular. Each sub-library is a standalone implementation for a single external system. This is one of the ways we support existing tools. - **`supabase-{lang}`**: Combines libraries and adds enrichments. - `postgrest-{lang}`: Client library to work with [PostgREST](https://github.com/postgrest/postgrest) @@ -62,15 +62,13 @@ Our client libraries are modular so that each sub-library works as a standalone | Repo | Official | Community | |-----------------------|--------------------------------------------------|------------------| -| **`supabase-{lang}`** | [`JS`](https://github.com/@supabase/supabase-js) | `C#` \| `Python` \| `Rust` | +| **`supabase-{lang}`** | [`JS`](https://github.com/@supabase/supabase-js) | [`C#`](https://github.com/supabase/supabase-csharp) \| [`Python`](https://github.com/supabase/supabase-py) \| `Rust` | | `postgrest-{lang}` | [`JS`](https://github.com/@supabase/postgrest-js) | [`C#`](https://github.com/supabase/postgrest-csharp) \| [`Python`](https://github.com/supabase/postgrest-py) \| [`Rust`](https://github.com/supabase/postgrest-rs) | | `realtime-{lang}` | [`JS`](https://github.com/@supabase/realtime-js) | `C#` \| `Python` \| `Rust` | | `gotrue-{lang}` | [`JS`](https://github.com/@supabase/gotrue-js) | `C#` \| `Python` \| `Rust` | - - ---- ## Sponsors From de46c7b02b0f513b193d51cf611a261228c2ce98 Mon Sep 17 00:00:00 2001 From: Copple <10214025+kiwicopple@users.noreply.github.com> Date: Mon, 7 Sep 2020 18:26:07 +0800 Subject: [PATCH 5/5] Less words --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e6c83961989..17637f5b92b 100644 --- a/README.md +++ b/README.md @@ -73,7 +73,7 @@ Our client library is modular. Each sub-library is a standalone implementation f ## Sponsors -We are building the features of Firebase using enterprise-grade, open source products. We support existing communities wherever possible, and if the products don’t exist we build them and open source them ourselves. Thanks to these sponsors who are making the OSS ecosystem better for everyone. +Thanks to these sponsors who are making the OSS ecosystem better for everyone. [![Worklife VC](https://user-images.githubusercontent.com/10214025/90451355-34d71200-e11e-11ea-81f9-1592fd1e9146.png)](https://www.worklife.vc) [![New Sponsor](https://user-images.githubusercontent.com/10214025/90518111-e74bbb00-e198-11ea-8f88-c9e3c1aa4b5b.png)](https://github.com/sponsors/supabase)