[HN Gopher] Soul - A SQLite RESTful Server
___________________________________________________________________
Soul - A SQLite RESTful Server
Author : thevahidal
Score : 36 points
Date : 2022-10-29 19:21 UTC (3 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| aaviator42 wrote:
| This is probably not ready to be used in production by others,
| but I wrote a library that gives you a key-value storage
| interface to SQlite files: https://github.com/aaviator42/StorX
|
| I've been dogfooding for a while by using it in my small side
| projects.
|
| And there's a basic API too, to use it over a network:
| https://github.com/aaviator42/StorX-API
| thevahidal wrote:
| Hi aaviator, Thanks for your recommendation, I'll make sure to
| check it out.
| feldrim wrote:
| Looks like a well structured one. Great. It'd also be nice to see
| the API docs on Wiki though. I like rqlite's simple
| documentation, for instance. [0]
|
| https://github.com/rqlite/rqlite/blob/master/DOC/DATA_API.md
| thevahidal wrote:
| Thanks feldrim, I'll give it a high priority for sure. Also
| thanks for the rqlite, I'll make sure to check it out.
| feldrim wrote:
| Also, I found this report that might be helpful for you.
| https://github.com/dbohdan/automatic-api/
| mongol wrote:
| This looks useful. But some examples of how the http responses
| look without spinning it up would be helpful.
| thevahidal wrote:
| Thanks Mongol, Yeah exactly I should create a wiki for it.
| hsbauauvhabzb wrote:
| This needs auth with a randomly generated password by default.
| Standing up products like this is exactly how data breaches
| happen, it's effectively sql injection as a feature.
| thevahidal wrote:
| Exactly, more generally I'm thinking of a way for Soul to be
| extendable via plugins, which one of the most important one is
| authentication / authorization and permissions level.
| hsbauauvhabzb wrote:
| _as a default_
| thevahidal wrote:
| Yeah it's reasonable.
| thevahidal wrote:
| Hi everyone, for the last couple of weeks I started to work on
| Soul, which a SQLite RESTful server. Basically it takes an SQLite
| file and create CRUD endpoints for it. Right now it consists of
| Soul CLI and Soul Studio (Which studio is at the early stages of
| development). Studio is going to be GUI for soul that let's users
| to work with their database in a graphical way.
|
| Eventually I want Soul to be a simple backend-as-a-service that
| people can use it to quickly start their ideas.
|
| Please let me know if you have any ideas to improve Soul, or how
| it'll become useful for your project.
| lucasyvas wrote:
| Looks awesome! I'm not sure if it would be one of your goals,
| but to me a killer piece of projects like this is realtime
| notifications. Supabase has something like this for Postgres.
|
| There are an interesting number of options for SQL via HTTP and
| SQL via GraphQL popping up in general - some of these might
| have some features worth looking into.
| thevahidal wrote:
| Hi Lucasycas, Thanks for your kind words. Real-time events /
| Websockets is definitely one of the must-have features for
| Soul. Right now I'm not sure how to approach it, but I
| welcome any contributions for it.
| le-mark wrote:
| What's the story around concurrency and concurrent updates to
| the db file? Are all queries in a single thread or are
| concurrent sql statements allowed to execute? Are there any
| benchmarks vs Postgres for example?
| thevahidal wrote:
| Hi le-mark, as I mentioned Soul is really young and I just
| started to work on it. For now my goal is to create a decent
| prototype out of it and when the concept is matured enough,
| we can go towards performance. There's no benchmark done yet,
| but I invite you to talk more about the things you think is
| important to consider.
| gl9 wrote:
| Really awesome! I sent you an email. There are so many
| applications for this.
| thevahidal wrote:
| Thanks gl9, I'll respond to your email asap.
| chiubaca wrote:
| https://pocketbase.io is doing something similar but are a bit
| further ahead.
| thevahidal wrote:
| Yeah Pocketbase is one of my main inspirations. I admire it a
| lot and the reason I started Soul, is because I think
| Javascript / Node.js could potentially be a better language to
| approach it as it's more popular than Go and for example to a
| huge community of Front-end developers it would be easier to
| adopt as they are already familiar with it.
___________________________________________________________________
(page generated 2022-10-29 23:00 UTC)