Live data from Hacker News

Show HN: ESQLate – Build minimum viable admin panels with just SQL

github.com

31–40 of 83 posts

Re: Show HN: ESQLate – Build minimum viable admin panels with just SQL

#31
This is cool. I built something similar awhile back for a side project. I had a folder that I would dump files into and each file would have a title, description, and SQL statement.

When I visited a specific page on my site (password protected) I had a bit of Go code that would read all the the files, execute all the (read-only) SQL statements and then dump them into an HTML template that created a table for each one.

Made it dead simple to keep track of some simple metrics like daily sign ups, number of users currently on the site, churn, etc.

Hopefully I can just reach for this next time and not write my own hacky tool :)

Re: Show HN: ESQLate – Build minimum viable admin panels with just SQL

#32

Great work! I once was a fan of custom well tailored DSL's for each tool. However, nowadays I really like the current direction of providing a lot of tooling with only SQL necessary to use them, even with the dialects differing a bit. I've made my own contribution here too, with a tool to join and analyse data in various databases and file formats (JSON, CSV, Excel) using plain SQL, OctoSQL: https://github.com/cube22…

This is really cool stuff, thanks for sharing!

I'm working on a desktop application which has feature to let users query data across a bunch of different data sources, like csv, excel, and some others. The way I've implemented this is by first scanning all applicable files and populating a SQLite database with all the data from these files, a table per file essentially, and then allowing users to execute queries against the database. The database is updated whenever any of these files are changed on disk, but any writes to the database are not persisted back into the files on disk, so it's really a one-way kind of flow. This was all implemented mostly as a proof-of-concept, but it's been massively useful so we're probably going to expand on it this year, perhaps by allowing bi-directional workflows.

Even if the use cases and approach is different, it's nice and validating to see other projects with similar thoughts and ideas. Again, thanks for sharing!

Re: Show HN: ESQLate – Build minimum viable admin panels with just SQL

#35

So I made something similar to this at a couple of my jobs. We could basically add a SQL script as a file to a folder and it would automatically have a new report, downloadable, formatted, run on-demand. Even a pretty basic one is pretty handy, as they only take a day or two. I hadn't got round to adding variables, I like the solution. One of the things I added is that you could add column formatting in the field nam…

It does basic left/right aligning for strings/numbers etc.

It's a nice feature/idea but I'm torn between implementing it and also allowing you to do it in SQL...

I agree that concat('$', table.amount) as amount should be right aligned, but mine would leave it left aligned (as it became a string).

Re: Show HN: ESQLate – Build minimum viable admin panels with just SQL

#36
post #34

It looks excellent! But I know https://redash.io already and used it in my last business - does this do something different? I'm always hungry for better SQL business admin tools though.

A quick scan of the docs seems to indicate redash is read only.

Re: Show HN: ESQLate – Build minimum viable admin panels with just SQL

#37
post #29

I believe admin panels are the MVP implementation for this idea. Almost every business software is a select/insert/update. If you can do it over a view, or you have a trigger on insert/update/delete you are able to have a customer facing product with minimal manual operation.

The REST interface to this is pretty good. It's documented within esqlate-server (https://github.com/forbesmyester/esqlate-server)

Re: Show HN: ESQLate – Build minimum viable admin panels with just SQL

#38
post #32

Great work! I once was a fan of custom well tailored DSL's for each tool. However, nowadays I really like the current direction of providing a lot of tooling with only SQL necessary to use them, even with the dialects differing a bit. I've made my own contribution here too, with a tool to join and analyse data in various databases and file formats (JSON, CSV, Excel) using plain SQL, OctoSQL: https://github.com/cube22…

This is really cool stuff, thanks for sharing! I'm working on a desktop application which has feature to let users query data across a bunch of different data sources, like csv, excel, and some others. The way I've implemented this is by first scanning all applicable files and populating a SQLite database with all the data from these files, a table per file essentially, and then allowing users to execute queries agai…

Glad you like it!

I think I've seen an open source project with the approach described by you too.

However, I think philosophically we differ in that one of our goals is to push down as much work as possible to the underlying databases and our next big upcoming milestone is streaming (Kafka, possibly database change streams).

But yes, it's great that a kind of ecosystem is forming around those ideas!

Re: Show HN: ESQLate – Build minimum viable admin panels with just SQL

#40

Earlier quoted context omitted.

> building just an administration GUI based on SQL introspection I built exactly this. The idea was to make databases look and feel like a file manager where databases are shown as folder, tables as subfolders and rows are shown as files that once open shows a fully editable form that look like this: https://archive.kerjean.me/public/2020/screenshot_20200117_2... It understands foreign keys and create relevant links…

> I built exactly this. The idea was to make databases look and feel like a file manager where databases are shown as folder, tables as subfolders and rows are shown as files that once open shows a fully editable form ... It understands foreign keys and create relevant links to easily navigate through. I thought that was the whole point of e.g. LibreOffice Base and the like? (including Paradox, Access, etc.) So you b…

> So you built a web-based clone?

It's more of an elaborate answer to the infamous ftp comment from when Dropbox did launch in 2007 here on HN (https://news.ycombinator.com/item?id=8863). At its root, the project tries to solve the Dropbox problem by abstracting the storage aspect so that you can bring your own backend by implementing a simple interface.

The mysql plugin is just an implementation of that model to enable non nerds to crud a database without braking anything. I did a few one of those implementations: FTP, SFTP, S3, ... Mysql is just one of those "for the sake of science" one to be put in the same bag as the LDAP one: https://www.filestash.app/ldap-browser.html

Post reply on HN