Skip to content

Commit

Permalink
Address feedback, fix linter warnings and add CI workflow (#36)
Browse files Browse the repository at this point in the history
* 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
  • Loading branch information
virtualroot committed Feb 22, 2024
1 parent aedf773 commit 75df786
Show file tree
Hide file tree
Showing 4 changed files with 81 additions and 27 deletions.
43 changes: 43 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -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
8 changes: 8 additions & 0 deletions .markdownlint.yml
Original file line number Diff line number Diff line change
@@ -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

55 changes: 29 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
@@ -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

Expand All @@ -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#

Expand All @@ -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.
Expand Down
2 changes: 1 addition & 1 deletion contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -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!
Thanks for contributing!

0 comments on commit 75df786

Please sign in to comment.