From 564a94728bd0b8a00f5dc460630266761f25de28 Mon Sep 17 00:00:00 2001 From: Egor Sklyarov Date: Wed, 20 Dec 2023 17:55:18 +0100 Subject: [PATCH 1/8] Add pocketbase-sveltekit-static (#29) Co-authored-by: Ben Allfree --- README.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 375070d..9407400 100644 --- a/README.md +++ b/README.md @@ -30,10 +30,11 @@ This is a collection of [PocketBase](https://pocketbase.io) community resources. ## Svelte -- [svelte-query-pocketbase](https://github.com/goknsh/svelte-query-pocketbase) - TanStack Query wrappers around PocketBase for Svelte and SvelteKit that updates the query cache in realtime. -- [SvelteKit Starter](https://github.com/spinspire/pocketbase-sveltekit-starter) - A starter-kit showing how to use customized PocketBase as a backend to SvelteKit frontend. -- [SvelteKit Auth](https://github.com/danawoodman/sveltekit-auth-example) - This project is designed as a sample implementation reference for getting authentication setup using SvelteKit. -- [SvelteKit PocketBase Auth](https://github.com/jianyuan/pocketbase-sveltekit-auth) - This project demonstrates how to integrate PocketBase with SvelteKit. The project includes login and registration pages, as well as examples of how to retrieve the current user. You can watch a video of the creation of this project on YouTube at [this link](https://youtu.be/AxPB3e-3yEM). +* [svelte-query-pocketbase](https://github.com/goknsh/svelte-query-pocketbase) - TanStack Query wrappers around PocketBase for Svelte and SvelteKit that updates the query cache in realtime. +* [SvelteKit Starter](https://github.com/spinspire/pocketbase-sveltekit-starter) - A starter-kit showing how to use customized PocketBase as a backend to SvelteKit frontend. +* [SvelteKit Auth](https://github.com/danawoodman/sveltekit-auth-example) - This project is designed as a sample implementation reference for getting authentication setup using SvelteKit. +* [SvelteKit PocketBase Auth](https://github.com/jianyuan/pocketbase-sveltekit-auth) - This project demonstrates how to integrate PocketBase with SvelteKit. The project includes login and registration pages, as well as examples of how to retrieve the current user. You can watch a video of the creation of this project on YouTube at [this link](https://youtu.be/AxPB3e-3yEM). +* [pocketbase-sveltekit-static](https://github.com/Egor-S/pocketbase-sveltekit-static) - A minimalistic template with configured authorization featuring a single Docker image (from 55 MB) for deploying. ## Vue From ceaeff8509a76dfca1feb3fe6f9cda58410ef656 Mon Sep 17 00:00:00 2001 From: Kai <73543613+panthyy@users.noreply.github.com> Date: Sat, 3 Feb 2024 13:26:53 +0100 Subject: [PATCH 2/8] Added Pocketbase Templates (#35) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9407400..69e4ed2 100644 --- a/README.md +++ b/README.md @@ -100,6 +100,7 @@ This is a collection of [PocketBase](https://pocketbase.io) community resources. - [PocketBaseMobile](https://github.com/rohitsangwan01/pocketbase_mobile) - Android and iOS frameworks for running PocketBase from mobile. - [PocketBase+Stripe](https://github.com/mrwyndham/pocketbase-stripe) - Go extended PocketBase for Stripe subscription integration. - [pbf](https://github.com/nedpals/pbf) - Library for serializing and deserializing PocketBase filter syntax. +- [PocketBase Templates](https://github.com/Pocket-Space/pocketbase-templates) - A open-source collection of pocketbase schemas to quickly get started. ## Showcases From aedf773b294ba74adb94327046d0387df6a670b6 Mon Sep 17 00:00:00 2001 From: Ben Allfree Date: Sat, 3 Feb 2024 04:28:20 -0800 Subject: [PATCH 3/8] Capitalization fix --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 69e4ed2..9966559 100644 --- a/README.md +++ b/README.md @@ -100,7 +100,7 @@ This is a collection of [PocketBase](https://pocketbase.io) community resources. - [PocketBaseMobile](https://github.com/rohitsangwan01/pocketbase_mobile) - Android and iOS frameworks for running PocketBase from mobile. - [PocketBase+Stripe](https://github.com/mrwyndham/pocketbase-stripe) - Go extended PocketBase for Stripe subscription integration. - [pbf](https://github.com/nedpals/pbf) - Library for serializing and deserializing PocketBase filter syntax. -- [PocketBase Templates](https://github.com/Pocket-Space/pocketbase-templates) - A open-source collection of pocketbase schemas to quickly get started. +- [PocketBase Templates](https://github.com/Pocket-Space/pocketbase-templates) - A open-source collection of PocketBase schemas to quickly get started. ## Showcases From 75df78690f6b936126d3cefe5b6f371cd791c99c Mon Sep 17 00:00:00 2001 From: Alejandro Lazaro Date: Thu, 22 Feb 2024 18:21:43 +0100 Subject: [PATCH 4/8] Address feedback, fix linter warnings and add CI workflow (#36) * fix: remark-lint:unordered-list-marker-style Marker style should be - `npx awesome-lint README.md` * fix: MD022/blanks-around-headings Headings should be surrounded by blank lines [Expected: 1; Actual: 0; Below] [Context: "## React"] * fix: MD007/ul-indent Unordered list indentation [Expected: 2; Actual: 4] * fix: MD012/no-multiple-blanks Multiple consecutive blank lines [Expected: 1; Actual: 2] * ci: run linters * The description starts with an uppercase character and ends with a period. * Improve list * Fix name inconsistencies * Improve list * Improve description * fix: remark-lint:awesome-list-item List item link and description must be separated with a dash --- .github/workflows/lint.yml | 43 +++++++++++++++++++++++++++++ .markdownlint.yml | 8 ++++++ README.md | 55 ++++++++++++++++++++------------------ contributing.md | 2 +- 4 files changed, 81 insertions(+), 27 deletions(-) create mode 100644 .github/workflows/lint.yml create mode 100644 .markdownlint.yml diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..2739941 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,43 @@ +name: Lint + +on: + push: + branches: + - main + pull_request: + +jobs: + lychee: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Check links + id: lychee + uses: lycheeverse/lychee-action@v1.9.3 + with: + # Exclude twitter.com (https://github.com/lycheeverse/lychee/issues/989) + args: README.md --verbose --no-progress --exclude twitter.com + fail: true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + markdown: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: DavidAnson/markdownlint-cli2-action@v15 + with: + globs: | + README.md + contributing.md + + awesome-lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - run: npx awesome-lint diff --git a/.markdownlint.yml b/.markdownlint.yml new file mode 100644 index 0000000..cac8445 --- /dev/null +++ b/.markdownlint.yml @@ -0,0 +1,8 @@ +# MD013/line-length +MD013: false +# False positive with C# heading +#README.md:53 MD003/heading-style Heading style [Expected: atx; Actual: atx_closed] +#README.md:53:4 MD020/no-missing-space-closed-atx No space inside hashes on closed atx style heading [Context: "## C#"] +MD003: false +MD020: false + diff --git a/README.md b/README.md index 9966559..5860e56 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ # Awesome PocketBase [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) -This is a collection of [PocketBase](https://pocketbase.io) community resources. Please send suggestions in the form of pull requests. +> Curated list of awesome [PocketBase](https://pocketbase.io) resources. + +PocketBase is an open source backend consisting of embedded database (SQLite) with realtime subscriptions, built-in auth management, convenient dashboard UI and simple REST-ish API. ## Contents @@ -14,40 +16,41 @@ This is a collection of [PocketBase](https://pocketbase.io) community resources. - [Unofficial PocketBase Clients (SDKs)](#unofficial-pocketbase-clients-sdks) - [Hosting](#hosting) - [Plugins](#plugins) -- [Typescript tools](#typescript-tools) +- [TypeScript tools](#typescript-tools) - [SQLite tools](#sqlite-tools) - [Other tools](#other-tools) - [Showcases](#showcases) ## Official Packages -- PocketBase [Golang Server](https://github.com/pocketbase/pocketbase/releases/) - The main PocketBase server -- PocketBase [JS SDK](https://github.com/pocketbase/js-sdk) - TS/JS/node client to communicate with the server -- PocketBase [Dart client](https://github.com/pocketbase/dart-sdk) - Dart client to communicate with the server +- [Golang Server](https://github.com/pocketbase/pocketbase/releases/) - The main PocketBase server. +- [JavaScript SDK](https://github.com/pocketbase/js-sdk) - Browser and Node.js for interacting with the PocketBase API. +- [Dart SDK](https://github.com/pocketbase/dart-sdk) - Multi-platform SDK for interacting with the PocketBase Web API. ## React -- [PocketBase React](https://github.com/tobicrain/pocketbase-react) - Unofficial React SDK (React, React Native, Expo) for interacting with the PocketBase JS SDK. + +- [PocketBase React](https://github.com/tobicrain/pocketbase-react) - Unofficial React SDK (React, React Native, Expo) for interacting with the PocketBase JavaScript SDK. ## Svelte -* [svelte-query-pocketbase](https://github.com/goknsh/svelte-query-pocketbase) - TanStack Query wrappers around PocketBase for Svelte and SvelteKit that updates the query cache in realtime. -* [SvelteKit Starter](https://github.com/spinspire/pocketbase-sveltekit-starter) - A starter-kit showing how to use customized PocketBase as a backend to SvelteKit frontend. -* [SvelteKit Auth](https://github.com/danawoodman/sveltekit-auth-example) - This project is designed as a sample implementation reference for getting authentication setup using SvelteKit. -* [SvelteKit PocketBase Auth](https://github.com/jianyuan/pocketbase-sveltekit-auth) - This project demonstrates how to integrate PocketBase with SvelteKit. The project includes login and registration pages, as well as examples of how to retrieve the current user. You can watch a video of the creation of this project on YouTube at [this link](https://youtu.be/AxPB3e-3yEM). -* [pocketbase-sveltekit-static](https://github.com/Egor-S/pocketbase-sveltekit-static) - A minimalistic template with configured authorization featuring a single Docker image (from 55 MB) for deploying. +- [svelte-query-pocketbase](https://github.com/goknsh/svelte-query-pocketbase) - TanStack Query wrappers around PocketBase for Svelte and SvelteKit that updates the query cache in realtime. +- [SvelteKit Starter](https://github.com/spinspire/pocketbase-sveltekit-starter) - A starter-kit showing how to use customized PocketBase as a backend to SvelteKit frontend. +- [SvelteKit Auth](https://github.com/danawoodman/sveltekit-auth-example) - This project is designed as a sample implementation reference for getting authentication setup using SvelteKit. +- [SvelteKit PocketBase Auth](https://github.com/jianyuan/pocketbase-sveltekit-auth) - This project demonstrates how to integrate PocketBase with SvelteKit. The project includes login and registration pages, as well as examples of how to retrieve the current user. You can watch a video of the creation of this project on YouTube at [this link](https://youtu.be/AxPB3e-3yEM). +- [pocketbase-sveltekit-static](https://github.com/Egor-S/pocketbase-sveltekit-static) - A minimalistic template with configured authorization featuring a single Docker image (from 55 MB) for deploying. ## Vue - [Vue 3 + Vite starter kit](https://github.com/StefanVDWeide/pocketbase-vue) - A starter kit for Vue 3 + Vite + PocketBase. - - [Tutorial](https://studioterabyte.nl/en/blog/pocketbase-vue-3) + - [Tutorial](https://studioterabyte.nl/en/blog/pocketbase-vue-3) - [Quasar starter kit](https://github.com/aaronblondeau/pocketbase_quasar_starter) -- [PocketNuxt](https://github.com/j-wil/pocket-nuxt) - A Nux3 Pocketbase starter that builds into a single binary. +- [PocketNuxt](https://github.com/j-wil/pocket-nuxt) - A Nux3 PocketBase starter that builds into a single binary. ## Dart/Flutter - [PocketBase Drift](https://github.com/rodydavis/pocketbase_drift) - A PocketBase client cached with Drift. - [Dart Generator](https://github.com/rodydavis/pocketbase_dart_generator) - Generate type safe client SDKs for use in local SQLite, JSON or GraphQL resolvers. -- [Pocketbase Server Flutter](https://github.com/rohitsangwan01/pocketbase_server_flutter) - A Flutter plugin to run PocketBase server directly from Android/iOS. +- [PocketBase Server Flutter](https://github.com/rohitsangwan01/pocketbase_server_flutter) - A Flutter plugin to run PocketBase server directly from Android/iOS. ## C# @@ -68,28 +71,28 @@ This is a collection of [PocketBase](https://pocketbase.io) community resources. ## Hosting -- [pockethost.io](https://pockethost.io) - Hosted and managed PocketBase with email and SSL support. Up and running in 30 seconds. Supports JS/TS serverless cloud functions. +- [pockethost.io](https://pockethost.io) - Hosted and managed PocketBase with email and SSL support. Up and running in 30 seconds. Supports JavaScript and TypeScript serverless cloud functions. - [PocketBase Docker](https://github.com/muchobien/pocketbase-docker) - Docker setup supporting multiple architectures and automatically updated with PocketBase releases. -- Deploy on Digital Ocean [link](https://github.com/pocketbase/pocketbase/discussions/512). -- Host free on fly.io [link](https://github.com/pocketbase/pocketbase/discussions/537). -- Use LocalXpose to allow public access to a localhost PocketBase instance [link](https://localxpose.io/docs/tutorials/expose-pocketbase-backend). +- [DigitalOcean](https://github.com/pocketbase/pocketbase/discussions/512) - Guide to deploy in a Droplet. +- [Fly.io](https://github.com/pocketbase/pocketbase/discussions/537) - Guide to deploy for free in Fly.io. +- [LocalXpose](https://localxpose.io/docs/tutorials/expose-pocketbase-backend) - Allow public access to a localhost instance. ## Plugins -- [Telegram auth](https://github.com/iamelevich/pocketbase-plugin-telegram-auth) - Plugin that add Telegram auth (Widget button and WebApp). -- [Ngrok](https://github.com/iamelevich/pocketbase-plugin-ngrok) - Plugin that allow to expose local PocketBase to the internet with ngrok. Can be useful for development purposes. -- [Proxy](https://github.com/iamelevich/pocketbase-plugin-proxy) - Plugin that allow to proxify requests to the other host. Can be useful when you want to use separate server as frontend (like Next.js), but serve everything with same port. +- [Telegram auth](https://github.com/iamelevich/pocketbase-plugin-telegram-auth) - Add Telegram auth (Widget button and WebApp). +- [Ngrok](https://github.com/iamelevich/pocketbase-plugin-ngrok) - Allow to expose local PocketBase to the internet with ngrok. Can be useful for development purposes. +- [Proxy](https://github.com/iamelevich/pocketbase-plugin-proxy) - Allow to proxify requests to the other host. Can be useful when you want to use separate server as frontend (like Next.js), but serve everything with same port. -## Typescript tools +## TypeScript tools -- [pb_hooks starter kit](https://github.com/benallfree/ts-pb-hooks-starter) - Build PocketBase JS hooks using Typescript. -- [PocketBase Typegen](https://github.com/patmood/pocketbase-typegen) - Generate Typescript types from the SQLite db file. +- [pb_hooks starter kit](https://github.com/benallfree/ts-pb-hooks-starter) - Build PocketBase JavaScript hooks using TypeScript. +- [PocketBase Typegen](https://github.com/patmood/pocketbase-typegen) - Generate TypeScript types from the SQLite db file. - [pocketbase-ts](https://github.com/Solaris9/pocketbase-ts) - A simplified PocketBase SDK to ease the developer experience. Modular API. Strongly typed Schemas. -- [typed-pocketbase](https://github.com/david-plugge/typed-pocketbase) - Generate types from your Pocketbase instance and enjoy fully type-safe queries. +- [typed-pocketbase](https://github.com/david-plugge/typed-pocketbase) - Generate types from your PocketBase instance and enjoy fully type-safe queries. ## SQLite tools -- [Marmot](https://github.com/maxpert/marmot) - A distributed SQLite replicator [with PocketBase tutorial](https://www.youtube.com/watch?v=Zapupe_FREc) +- [Marmot](https://github.com/maxpert/marmot) - A distributed SQLite replicator [with PocketBase tutorial](https://www.youtube.com/watch?v=Zapupe_FREc). - [Litestream](https://litestream.io/) - Streaming SQLite replication. - [PocketBase+Litestream example](https://github.com/TylerSustare/pocketbase-framework-litestream) - Template showing Litestream running with PocketBase. - [PocketBase with Litestream](https://github.com/bscott/pocketbase-litestream/) - Docker example of PocketBase saving/restoring from Litestream. diff --git a/contributing.md b/contributing.md index efc8633..72ada9f 100644 --- a/contributing.md +++ b/contributing.md @@ -12,4 +12,4 @@ Make sure your pull request follows these guidelines: See also the upstream Awesome project's [contribution guidelines](https://github.com/sindresorhus/awesome/blob/main/contributing.md) and [manifesto/requirements](https://github.com/sindresorhus/awesome/blob/main/awesome.md). Some of the more basic entry formatting requirements are checked via a [awesome-lint](https://github.com/sindresorhus/awesome-lint) GitHub Action; run it locally first if you can! -Thanks for contributing! \ No newline at end of file +Thanks for contributing! From 9ac862b2390c8b606918c160f1ddbc2e83945707 Mon Sep 17 00:00:00 2001 From: KD Puvvadi Date: Wed, 28 Feb 2024 11:59:34 +0530 Subject: [PATCH 5/8] add docker image kdpuvvadi/pocketbase (#38) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5860e56..debfb74 100644 --- a/README.md +++ b/README.md @@ -76,6 +76,7 @@ PocketBase is an open source backend consisting of embedded database (SQLite) wi - [DigitalOcean](https://github.com/pocketbase/pocketbase/discussions/512) - Guide to deploy in a Droplet. - [Fly.io](https://github.com/pocketbase/pocketbase/discussions/537) - Guide to deploy for free in Fly.io. - [LocalXpose](https://localxpose.io/docs/tutorials/expose-pocketbase-backend) - Allow public access to a localhost instance. +- [PocketBase Docker](https://github.com/kdpuvvadi/pocketbase) - Docker images supporting multiple architectures and updated with latest PocketBase releases. ## Plugins From 26137968419abbfafab5ff34c806feecdd491ed3 Mon Sep 17 00:00:00 2001 From: Ben Allfree Date: Tue, 5 Mar 2024 23:55:41 -0800 Subject: [PATCH 6/8] Add gobot --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index debfb74..5163ac6 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,7 @@ PocketBase is an open source backend consisting of embedded database (SQLite) wi - [Dart/Flutter](#dartflutter) - [C#](#c) - [D](#d) +- [NodeJS](#nodejs) - [Unofficial PocketBase Clients (SDKs)](#unofficial-pocketbase-clients-sdks) - [Hosting](#hosting) - [Plugins](#plugins) @@ -60,6 +61,10 @@ PocketBase is an open source backend consisting of embedded database (SQLite) wi - [libpb](https://github.com/Hax-io/libpb) - PocketBase client wrapper for D with automagic serialization and deserialization to and from JSON. +## NodeJS + +- [gobot](https://github.com/benallfree/gobot) - CLI and API to install PocketBase as an npm package dependency. + ## Unofficial PocketBase Clients (SDKs) - [Go](https://github.com/r--w/pocketbase) From d07f7121d29af81d5f479911edbf7e090c82f6ff Mon Sep 17 00:00:00 2001 From: Ben Allfree Date: Tue, 5 Mar 2024 23:56:45 -0800 Subject: [PATCH 7/8] Gobot update --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5163ac6..8e865db 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,7 @@ PocketBase is an open source backend consisting of embedded database (SQLite) wi ## NodeJS -- [gobot](https://github.com/benallfree/gobot) - CLI and API to install PocketBase as an npm package dependency. +- [gobot](https://github.com/benallfree/gobot) - PocketBase as an npm package. CLI and API. ## Unofficial PocketBase Clients (SDKs) From 0081de6ba6989c65e2b13282bb59afb46fff456e Mon Sep 17 00:00:00 2001 From: Thijs Miedema Date: Wed, 6 Mar 2024 08:58:10 +0100 Subject: [PATCH 8/8] Add async Python SDK (#39) --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 8e865db..30b5e34 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,8 @@ PocketBase is an open source backend consisting of embedded database (SQLite) wi - [Go](https://github.com/r--w/pocketbase) - [Kotlin](https://github.com/agrevster/pocketbase-kotlin) -- [Python](https://github.com/vaphes/pocketbase) +- [Python (Sync)](https://github.com/vaphes/pocketbase) +- [Python (Async)](https://github.com/thijsmie/pocketbase) - [C#](https://github.com/PRCV1/pocketbase-csharp-sdk) - [Rust](https://github.com/sreedevk/pocketbase-sdk-rust) - [PHP](https://github.com/mkay-development/pocketbase-php-sdk)