Ask HN: Best low-/no-code solution for simple web-based database frontends
I'm currently looking for a solution to provide (non-technical) team members with a way to interact with a SQL database (MySQL at the moment; PostgreSQL in the future). Basically, I want/need to build several very simple web-based CRUD-forms. Does anyone remember MS Access...
While my initial thought was to build a simple Django application, I'd prefer something non-developers could also work with. -> Low-/No-Code Solution
While I'm generally willing to pay, I'd really prefer an open and self-hosted solution.
145 comments
[ 4.5 ms ] story [ 218 ms ] threadI just set it up this morning in my homelab, and it was very simple to set up.
if that's what you want you might want to look into that.
Thanks for sharing.
It doesn't automatically detect foreign keys and make the fields for them correctly. Furthermore, it seems like they don't even use foreign keys for the models created through their UI - I checked the github issues, it seems like all of this is planned but work on it seems to have just started.
GitHub link: https://github.com/appsmithorg/appsmith
I am going through the "Create Standup Application" tutorial.
Did u use a specific library to add the hints/popups or is it all manually patched in?
Do you plan to include GraphQL queries ?
About your suggestion, I've created an issue for this. We can discuss how we can help make things easier to setup, with the team. https://github.com/appsmithorg/appsmith/issues/3853
I understand that in order to have a repeatable installation process (as per Devops best practices), you'd like to have a single configuration file instead. We are working on some Helm charts for this very purpose.
For now, you can go through the process of installing Appsmith via the script and then use the generated files as a template in your Terraform/Ansible scripts.
https://nocode.tech/category/internal-tools https://www.nocode.tech/category/app-builders
Lists include both SaaS and self-hosted options
“ A React web application to query and share any PostgreSQL database”
[0] https://powerapps.microsoft.com/
It should be fairly easy to pick up for end users. But only if you don’t use denormalized tables. If your DB is in 2/3NF you’ll run into issues, e.g. the ever so useful DataTable cannot update data across table.
Also, there’s a pretty significant hard limit on 500 rows.
PowerApps is a great tool, but be aware of its limitations and see if that works for you.
Alternatively, FileMaker still exists, including a direct web interface option.
I often find that if you truly want a 'low-code/no-code' thing, you're stuck with no-logic no-interaction software. As soon as you start adding logic, you're essentially migrating from programming in a somewhat re-usable language into 'programming' in the form of pictures and application-specific interfaces, which essentially requires the same effort but is much less reusable.
Unless the 'thing' is really a 'table' with some CRUD operations you're gonna en up in a messy situation where some undocumented macro-filled spreadsheet becomes a lynchpin.
I think this used to be the case but the landscape is changing quickly. Deepnote[0], for example, looks like a really interesting programming interface that's not quite traditional programming and lowers the barrier to entry significantly and is (arguably) in the low-code space.
Low-code products for data engineering show that we're not too far away from these sorts of solutions in a more generalized offering. Spreadsheets aren't the only answer.
[0] - https://deepnote.com/
I think better examples might be Databricks, Tecton, H20.ai, or Domino Data Lab. These aim to provide "drag-n-drop"/no-code implementations for the "boring" infrastructure related work in most typical data engineering/analytics applications, while offering a set of tools for more sophisticated uses (e.g. the ability to supply one's own python functions for ayptical or custom data engineering).
Even these fall short, in my view: they're more like platforms on which to build a data science/ML infrastructure--which requires a substantial amount of engineering effort.
In some cases it might be beneficial for some people to 'program' using pictures and arrows etc, but if you're in a situation where you need some complex process modelled and automated, the complexity doesn't just 'go away' because a vendor said 'low/no code!'.
Because phpmyadmin would be too easy. It looks like this OP needs some busywork.
There's also UI tools provided by the first parties that do these things.
https://retool.com
Coming from building admin tools in ruby on rails previously, this is incredibly easy and straightforward. If I have the money to pay for retool I don't think I would choose another tool in the future
It's even possible to host it yourself which allows highly regulated industries to use it.
Spending over a decade programming makes it extremely difficult to reason about the the precise level of "okay, I can do this" from a semi-technical perspective.
However, once the data is wired up, getting it wired to the various components was pretty straight forward.
Your data is hosted in an Airtable or Google Sheet that you control, not in a SQL database, though I'd say this is actually a huge advantage for your goal of a no-code CRUD web app that non-developers can work with easily. It is paid.
Disclosure: I work at Stacker, and we're a YC company. Email in my profile if you have any questions.
Your product looks interesting but I don’t see how it fits the requirements here.
It's a really powerful option for non developers to manage data without having to use SQL / a PG client etc.
I keep hoping that there’s ways to make low-code work without those drawbacks, and plan to try some new ones I see in this thread. In my mind it has to be a designer that a “non technical” uses to output quality code that a dev can then tweak, but not break the designer.
It seems to be a case of 'right-tool-right-job' rather than a blanket rule that no-code is good/bad.
I actually think no-code is incredibly powerful when applied by the right person to the correct problem, and will run circles around a custom-developed app in terms of cost, time and flexibility. If you apply it to the wrong problem then of course you aren't going to get the same outcome, like with any technology. I think the mistake people often make is thinking that no-code aims to eliminate all-code, but like any development tool it just fits a certain niche well.
However they did manage to add RPA to PowerApps, which is a plus.
Access... I agree and miss it, but I can see why they wanted to replace it. You couldn't build scalable applications with it because of database locking, and to do the sort of stuff you can do in PowerApps you had to resort to VBA which was beyond the capability of most users (and a language they were trying to escape from anyway!). Lots of the things being built in Access could also be built in Sharepoint Lists, which was also simpler for many users and 'cloud/mobile native'. The more complicated things being built in access... I believe Microsoft probably looked at a lot of them and thought that they would be better in SQL Server & C# / Visual Studio. Plus from a commercial perspective it's way easier to sell PowerApps, you just show managers that you can put things on their phone.
Also most VBA code already written is inherently locked into the windows API and COM framework so isn’t multi-platform by design. Code written in VBA on Excel for Windows often doesn’t port across to Mac without errors because there is little abstraction from the host OS. That’s why the replacement technology is a cross-platform JavaScript API for Excel (that will eventually allow fully cross platform macros).
It does have WinUI integration via winforms, but again porting winforms to mobile and web would be a huge technical challenge and be very ugly (or break compatibility).
I think for one-off projects and workflows that aren't deeply integrated, tools like Node-RED are very interesting and something I'd definitely consider pursuing. But outside of modeling, BPM tools have been more of an obstacle than anything else.
There is a middle ground, and that’s why low code / no code is so popular. Often a business does not need the full flexibility and nonsense that comes along with something like that.
Horses for courses. If off the shelf drag and drop helps you build enough to get your idea up and running and start using it / making money, then that’s far better than being lost neck deep in a code pile and not getting up and running. Once you’ve got the funds, then look at transitioning.
You should definitively check Metabase [0] then: it's open source, very easy to self-host, and democratize data access inside your team. We started using it for the same reason 3 years ago, I cannot recommend it more.
[0] https://github.com/metabase/metabase
That aside, here are some lesser known low-code data-frontends:
https://www.basedash.com/ (mysql)
https://www.stackerhq.com/ (airtable)
https://www.glideapps.com/ (sheets)
https://metacpan.org/pod/CGI::FormBuilder
That allows you to start with next to no code, but you can easily add a little business logic anywhere you need it eventually, and it provides a way to long term transition to a true application if the need arises.
This will take a few minutes to implement and be significantly more stable and full-featured than any low/no-code solution.
How does one get started with Django Admin?
Would this tutorial be a good start? https://first-django-admin.readthedocs.io/
You can use my project template, it comes with the admin enabled out of the box:
https://github.com/skorokithakis/django-project-template
You just install that, add the TODOs that it says, and then run it with "./manage.py migrate; ./manage.py createsuperuser; ./manage.py runserver", and that's about it.
Here is the relevant page:
https://docs.djangoproject.com/en/3.1/intro/tutorial02/
Is English your native language?
Throwaway for obvious reasons.
https://adsharma.github.io/flattools-programs/
In short, django models are written using a very low level of abstraction. I much prefer dataclasses generated from a high level IDL.
The blog post compares different IDLs and argues why flatbuffer IDL is more suitable.
In order to express queries over such models:
https://adsharma.github.io/fquery/
https://github.com/oxan/djangorestframework-dataclasses/issu...
on how this could work. The author wasn't interested, but I might pursue it in a fork.