[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)