| I've spent a much of 2020 developing a project that auto provisions REST, GraphQL & gRPC services that support CRUD operations (with full validation) to tables, views and materialized views of several popular databases (postgres, postgis, mysql, sqlite). The project is named `Service-Engine`, and it can be implemented via an NPM package and as a Docker Container. The README on GitHub has extensive documentation on the setup & features, so here I'll just list the primary features: full CRUD, geoquery (bbox, radius, custom wkt polygon) complex_resources (aggregate & sub queries), middleware (access the query before db execution), permissions (table/view level CRUD configs), field redaction (enable query support -- without publication), schema migrations, auto generated openapi3/swagger docs, auto generated proto file, full validation. GitHub Source
https://github.com/sudowing/service-engine Forkable Docker Implementation
https://github.com/sudowing/service-engine-template I've also put together a few videos showing how to configure Docker app & how several features work. Videos have been produced covering the following topics: Quick Start
https://youtu.be/zwpPLM5LPgo Insomnia Import
https://youtu.be/PzV19iHs-IU Key REST Endpoints
https://youtu.be/sfmAO4pWC14 Permissions
https://youtu.be/4ptSSnaqvqw API Response Metadata
https://youtu.be/fjuTBT08ELE Query Context
https://youtu.be/wITo_oHjSvM SQL Operators
https://youtu.be/698lXrclFIs CRUD Operations
https://youtu.be/KUDqqlxb26M Debug Mode
https://youtu.be/LjRpv6JZxhI Complex Resources (subqueries & aggregate queries)
https://youtu.be/rzhQlPAoVeI Middleware & Redactions
https://youtu.be/AopYx2XM3yc GraphQL Playground and Geoqueries
https://youtu.be/8y5BMjHVRUA gRPC Service (CRUD & Geoqueries)
https://youtu.be/HFzwwLIqrfQ DB Schema Migrations
https://youtu.be/84D8_--K5cs GIS DB Setup & Load
https://youtu.be/UjvvPgdT_Y8 |