postgrest-starter-kit
postgresql-replicant
postgrest-starter-kit | postgresql-replicant | |
---|---|---|
3 | 5 | |
710 | 38 | |
- | - | |
0.0 | 3.2 | |
about 3 years ago | 9 months ago | |
PLpgSQL | Haskell | |
MIT License | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
postgrest-starter-kit
- Starter Kit and tooling for authoring REST API back ends for PostgREST
-
PostgREST – Serve a RESTful API from Any Postgres Database
I think the recommended way to use Postgrest is to put a layer of views and optionally stored functions on top of your schema to decouple it from your API. Take a look at this Postgrest starter kit[1] which uses a separate API schema for this purpose.
[1] https://github.com/subzerocloud/postgrest-starter-kit
- Auto generating API schema code?
postgresql-replicant
-
PostgREST – Serve a RESTful API from Any Postgres Database
You can use a library like https://github.com/agentultra/postgresql-replicant or similar to hook in a data plane and use PostgREST as a data plane.
Your business logic works on the event stream that comes from the WAL.
-
backend.sql and frontend.js = ♥
I wrote postgresql-replicant [0] in order to do this. It’s not a novel idea. It lets you read the logical replication stream.
On top of this library you can do all sorts of things: replicate data to Kafka or SQS, write a web socket server to publish changes to clients, etc.
[0] https://github.com/agentultra/postgresql-replicant
-
Ask HN: What are some tools / libraries you built yourself?
https://github.com/agentultra/postgresql-replicant — stream delta changes from a PostgreSQL database. Not a novel concept or implementation but this library doesn’t exist in Haskell and that’s a shame because Haskell has lots of great libraries for working with streams.
https://github.com/agent ultra/DataVersion — type-directed data migration library. I needed to migrate some data in a document database that had no schema with years of data in it to a format that had a schema. I leveraged some other stuff to achieve it but this library was a key piece to being confident that the transformations were correct and complete. Migrated the database and backfill it with a Lambda function using this library.
Those are just the most recent ones.
-
Haskell good for general use?
On my stream at https://twitch.tv/agentultra I've been working on a library to stream changes out of a PostgreSQL database. We've had to figure out how to use low-level libpq bindings, concurrency primitives, serializing and deserializing binary messages, etc. You can find the library here: https://github.com/agentultra/postgresql-replicant
-
[Announce] postgresql-replicant-0.1.0.0-candidate: streaming PostgreSQL changes
You can star the repo and report issues at: https://github.com/agentultra/postgresql-replicant -- new contributors are welcome! I'm still working out a contribution guide, it's still super early on the project. I can be found here and on the FP Slack (https://fpchat-invite.herokuapp.com/) and on the FP Zulip (https://funprog.zulipchat.com)
What are some alternatives?
sqlx - general purpose extensions to golang's database/sql
lowdefy - The config web stack for business apps - build internal tools, client portals, web apps, admin panels, dashboards, web sites, and CRUD apps with YAML or JSON.
graphile-engine - Monorepo home of graphile-build, graphile-build-pg, graphile-utils, postgraphile-core and graphql-parse-resolve-info. Build a high-performance easily-extensible GraphQL schema by combining plugins!
GoJS, a JavaScript Library for HTML Diagrams - JavaScript diagramming library for interactive flowcharts, org charts, design tools, planning tools, visual languages.
seafowl - Analytical database for data-driven Web applications 🪶
Pion WebRTC - Pure Go implementation of the WebRTC API
pocketbase - Open Source realtime backend in 1 file
Tabula - Extract tables from PDF files
subzero-starter-kit - Starter Kit and tooling for authoring GraphQL/REST API backends with subZero
Zip Foundation - Effortless ZIP Handling in Swift
annuaire-entreprises-sirene-api
null - reasonable handling of nullable values