From 2f749900a64392a23923eee6501ae03243b3b1b9 Mon Sep 17 00:00:00 2001 From: Paul Copplestone Date: Tue, 29 Oct 2019 13:58:45 +0000 Subject: [PATCH] Shuffling around the documentation so it is a bit more logical --- .../docs/admin-api/getting-started.mdx | 29 ++++++++++++--- .../content/docs/packaged/getting-started.mdx | 35 +++++++++++++++++- .../content/docs/realtime/docker-nextjs.mdx | 6 +++ .../{getting-started.mdx => introduction.mdx} | 10 +++-- .../web/content/docs/realtime/quick-start.mdx | 37 +++++++++++++++++++ .../{installation.mdx => realtime-server.mdx} | 6 +-- packages/web/pages/docs/[category]/[slug].js | 5 ++- 7 files changed, 111 insertions(+), 17 deletions(-) create mode 100644 packages/web/content/docs/realtime/docker-nextjs.mdx rename packages/web/content/docs/realtime/{getting-started.mdx => introduction.mdx} (95%) create mode 100644 packages/web/content/docs/realtime/quick-start.mdx rename packages/web/content/docs/realtime/{installation.mdx => realtime-server.mdx} (94%) diff --git a/packages/web/content/docs/admin-api/getting-started.mdx b/packages/web/content/docs/admin-api/getting-started.mdx index 37ade8eae9e..9a7d80eb386 100644 --- a/packages/web/content/docs/admin-api/getting-started.mdx +++ b/packages/web/content/docs/admin-api/getting-started.mdx @@ -1,15 +1,34 @@ export const metadata = { title: 'Admin API', - description: 'SQL is awesome, but sometimes you just want to use a technology you\'re familiar with. Why not REST?', + description: 'SQL is awesome, but sometimes not so awesome for beginners.', sidebarLabel: 'Getting Started' } -## Motivation +### Coming soon -SQL is a bit foreign for a lot of developers. We are hoping to bridge the gap. +We're busy making Realtime awesome right now, and we'll get around to this as soon as we can. + +### What it is + +Superbase Admin API is a RESTful interface for interacting with your database schema (listing tables, views, settings, etc). + +### How it works + +We took all the common SQL commands that we think you'd need, and we put a RESTful interface in front of them. -## Coming soon +### What it isn't -We're busy making Realtime awesome right now, and we'll get around to this as soon as we can. \ No newline at end of file +It's not for interacting with your data - it for querying the schema (tables, views) and database (settings). + +### Features + +- 100% open source +- Built with JS, can be used on the client (web, mobile) + +### Benefits + +- Familiar +- Quick +- and Dirty \ No newline at end of file diff --git a/packages/web/content/docs/packaged/getting-started.mdx b/packages/web/content/docs/packaged/getting-started.mdx index 6dd2f927826..62ad95b0a8c 100644 --- a/packages/web/content/docs/packaged/getting-started.mdx +++ b/packages/web/content/docs/packaged/getting-started.mdx @@ -4,6 +4,37 @@ export const metadata = { sidebarLabel: 'Getting Started' } -## Coming soon +### Coming soon -We're busy making Realtime awesome right now, and we'll get around to this as soon as we can. \ No newline at end of file +We're busy making Realtime awesome right now, and we'll get around to this as soon as we can. + + +### What it is + +Supabase Packaged is simply PostgreSQL, with all the common plugins you may need as well as a few bells-and-whistles we think you may need. +We wrap it all up to make it easy to deploy to various platforms. + +### How it works + +It's pretty simple, we just PostgreSQL and various other tools into packages for usage with: + +- Containers: Docker & Kubernetes +- More coming soon + + +### What it isn't + +It's not a replacement for your full production instance. + +### Features + +- 100% open source +- Restful Admin interface for interacting with your database schema (listing tables, views, settings, etc) +- Master replication enabled by default +- Plugins: PostGIS, TimescaleDb, wal2json + +### Benefits + +- Get up and running quickly +- Try out PostgreSQL plugins without having to go through painful installations +- Best practices implemented out-of-the-box \ No newline at end of file diff --git a/packages/web/content/docs/realtime/docker-nextjs.mdx b/packages/web/content/docs/realtime/docker-nextjs.mdx new file mode 100644 index 00000000000..8c98b00f4dd --- /dev/null +++ b/packages/web/content/docs/realtime/docker-nextjs.mdx @@ -0,0 +1,6 @@ +export const metadata = { + title: 'Realtime with Docker and NextJs', + description: 'A How-To guide for using Realtime with NextJs.' +} + +> Draft \ No newline at end of file diff --git a/packages/web/content/docs/realtime/getting-started.mdx b/packages/web/content/docs/realtime/introduction.mdx similarity index 95% rename from packages/web/content/docs/realtime/getting-started.mdx rename to packages/web/content/docs/realtime/introduction.mdx index 2d255a96bb6..6940402313c 100644 --- a/packages/web/content/docs/realtime/getting-started.mdx +++ b/packages/web/content/docs/realtime/introduction.mdx @@ -4,28 +4,30 @@ export const metadata = { sidebarLabel: 'Overview' } +### What it is + Supabase Realtime is an elixir server that allows you to listen to PostgreSQL inserts/updates/deletes over websockets. -## How it works +### How it works Realtime listens to PostgreSQL's replication functionality and converts the byte stream into JSON. It then broadcasts the JSON over websockets. It is built with [Phoenix](https://phoenixframework.org/), an Elixir framework that's incredibly scalable. -## What this isn't +### What it isn't We *are* building the client libraries which make it super simple to connect to the server. However we don't intend to build client-side databases that can do all the offline conflict resolution that other services like Firebase provide. Supabase Realtime is a passive listen/broadcast system. You don't use it to make updates to your database. -## Features +### Features - 100% open source - Accessible by mobile and web - Works without wal2json :) -## Benefits +### Benefits - You own your data. Realtime can be pointed at any PostgreSQL database that has replication enabled. - Build chat apps and other systems that require realtime functionality. diff --git a/packages/web/content/docs/realtime/quick-start.mdx b/packages/web/content/docs/realtime/quick-start.mdx new file mode 100644 index 00000000000..ee1ccde69f5 --- /dev/null +++ b/packages/web/content/docs/realtime/quick-start.mdx @@ -0,0 +1,37 @@ +export const metadata = { + title: 'Quick start', + description: 'From zero to Realtime in 5 minutes.' +} + +> Draft + +### Introduction + +You can find the code for this @todo + +## Running the server + +The easiest way to use this is to set up a docker compose: + +```yml +# docker-compose.yml +version: '3' +services: + realtime: + image: supabase/realtime + ports: + - "4000:4000" + environment: + - POSTGRES_USER=postgres + - POSTGRES_PASSWORD=postgres + - POSTGRES_DB=db + - POSTGRES_HOST=localhost + - POSTGRES_PORT=5432 + db: + image: supabase/packaged + ports: + - "5432:5432" +``` + +Once you are set up you can run `docker-compose up` + diff --git a/packages/web/content/docs/realtime/installation.mdx b/packages/web/content/docs/realtime/realtime-server.mdx similarity index 94% rename from packages/web/content/docs/realtime/installation.mdx rename to packages/web/content/docs/realtime/realtime-server.mdx index 595b03b803e..64be2eceb54 100644 --- a/packages/web/content/docs/realtime/installation.mdx +++ b/packages/web/content/docs/realtime/realtime-server.mdx @@ -1,6 +1,6 @@ export const metadata = { - title: 'Installation', - description: 'How to install the server.' + title: 'Realtime Server', + description: 'Guide for using the realtime server.' } @@ -25,7 +25,6 @@ Create a publication for Supabase to listen to on all of your tables. CREATE PUBLICATION supabase_realtime FOR ALL TABLES; ``` - **3. (Optional) Receive old data** If you want to receive the data the previous data (i.e. what the fields were *before* updates), then you need to set each table to have a full replica identity: @@ -57,7 +56,6 @@ services: Once you are set up you can run `docker-compose up` - ## Next steps Now that your server is running you can connect to it via one of the client libraries \ No newline at end of file diff --git a/packages/web/pages/docs/[category]/[slug].js b/packages/web/pages/docs/[category]/[slug].js index 10757a1b438..8661d83a3e1 100644 --- a/packages/web/pages/docs/[category]/[slug].js +++ b/packages/web/pages/docs/[category]/[slug].js @@ -36,8 +36,9 @@ Sidebars['admin-api'] = { API: ['schemas', 'tables'], } Sidebars['realtime'] = { - Introduction: ['getting-started', 'installation'], - 'Client Libraries': ['realtime-js'], + Introduction: ['introduction', 'quick-start'], + Reference: ['realtime-server', 'realtime-js'], + Guides: ['docker-nextjs'], } Sidebars['restful'] = { Introduction: ['getting-started'],