HACKER Q&A
📣 xupybd

What's the fastest tool for basic CRUD?


I like to throw together small tools to automate things. Most involve Crud screens. Simple Crud screens are all very similar but seem to take a lot of time to throw together. Are there good tools that allow you to throw these up quickly?


  👤 artpar Accepted Answer ✓
I have been working on this from some time. Checkout

https://github.com/daptin/daptin

I have been deferring another show hn since the last one, since I am always in the middle of adding one more feature :p

my overall goal in daptin is to build something reliable which can run for years without needing any maintenance. Some things to show this is that its written in golang and I build static targets for all target hosts, the thing is open-sourced and licensed to be used without fear.

As for the features, I will try to list some here:

- YAML/JSON based data declaration

- CRUD api implementing https://jsonapi.org/

- GraphQL api

- Definable actions, for custom apis

- Integration to any 3rd party api based on swagger/openapi spec

- Runs on mysql/postgres/sqlite

For more advance features:

- SMTP server, IMAP server

- Self generated cert/ Acme TLS generation support

- Encrypted columns

- Asset columns (file/image/binary store)

- Asset columns backed by cloud storage (like ftp/disk/gdrive/s3/bb and many)

- Native OAuth/3rd party login support

- Exposing cloud store folders as static websites

I have built a lot of apps on daptin over some time now and I love that it has become what I envisioned it to be.


👤 ksec
If you want No Code solution, AirTable and Coda. On one hand I sort of wish more business knew about it as it would likely simplify most of their work load. On the other hand I dont want that to happen as it gives current businesses advantage.

For Coding Solution, ( Incoming Unpopular opinion ) if you dont mind modern PHP, ( which is a lot better than old PHP) Laravel [1] is to my mind undoubtedly the king of CRUD framework. The whole ecosystem is, and continue to be outpacing and growing faster than Rails ecosystem. Which makes me very envy.

If you dont like PHP, then Ruby Rails.

[1] https://laravel.com


👤 cpursley
React Admin is awesome for simple low code CRUD applications.

https://marmelab.com/react-admin

Combine React Admin with Hasura (automatic GraphQL on top of PostgreSQL) and you can build an entire back office admin suite (API endpoints and admin front end) in a matter of hours.

https://hasura.io

This adaptor connects react-admin with Hasura:

https://github.com/Steams/ra-data-hasura-graphql

Here's a reference application I put together:

https://github.com/cpursley/react-admin-low-code


👤 andybak
If you want a database-backed CRUD with extra business logic then it's hard to beat the Django admin. You get support for common cases out of the box and extending/overriding the normal behaviour is fairly straightforward.

It looks fairly presentable and has a non-awful UI. Certainly not state of the art but good enough for non-public facing stuff.


👤 Ididntdothis
To me it's still surprising that nobody has done something like MS Access or VB6 for the web. They were easy to learn but had enough power to create really complex solutions. The only downside were scaling and multiple user support. These problems shouldn't be that hard to solve.

👤 Ozzie_osman
Django admin, with Django rest if you want to easily add APIs.

👤 theptip
I think the meta-answer is to pick the CRUD framework for the language that you already know well; e.g. if you know Python, use Django. But if you know PHP already, just use Laravel or whatever, rather than learning Python to get access to Django.

While there are features in some of these frameworks that will give you a productivity boost in certain use cases, none of them are worth taking the productivity hit of learning a new language.


👤 dyeje
Ruby on Rails without a doubt. You can even take it a step further and use ActiveAdmin.

👤 sansnomme
For non-web, give the Red programming language a try. Java is also another good one. I am afraid there just isn't a good, robust, free and open source system when it comes to client-server stuff. Rapid development tools also tend to be less mature on Linux, compared to OS X and Windows (Mac and Windows have a rich tradition of business/enterprise rapid prototyping e.g. FileMaker, HyperCard, Visual FoxPro). If you are on the Microsoft stack (and don't need gimmicks like multiple screen size support, Material-style shadows and animations), the standard WinForms system is also quite productive. I heard that the new SwiftUI system is starting to bring back the spirit of rapid development too though I have no tried it myself. These days "no-code" systems are also making a comeback with half a dozen new SaaSes showing up on HN every other week.


👤 maltalex
Haven’t tried it myself, but what about postgrest? https://postgrest.org

👤 yen223
I've found success using Google Sheets as a backing datastore for some automation projects of mine. Google Sheets has a rest API that you can use.

👤 focom
There is also https://github.com/strapi/strapi which is a CMS for rest api. You only have to write a frontend.

👤 ollerac
Remake - a server-rendered framework for building CRUD web apps [0]

This is an open-source framework I've been working on for the past year to try and solve this problem. I was tired of building the same back-end over and over again and wanted to be able to define my data all in one place.

It works kind of like Vapid[1], in that it allows you to define back-end logic with front-end syntax. But it goes a step further and has more built-in web app capabilities like support for each user owning their own application, nested elements and pages, sorting elements, and inline edit areas.

I just posted a Show HN[2] in another thread. I love for you to read more about it there. You can also see some code examples and a simple demo application here: https://docs.remaketheweb.com/

Reach out to me with any questions. I'm always available to talk: david@remaketheweb.com

[0] https://remaketheweb.com/

[1] https://www.vapid.com/

[2] https://news.ycombinator.com/item?id=22092480


👤 sinnombre
Jhipster if you want to do it in Java. Do check it out if you want a lot of options. For example angular or react frontend, SQL or nosql, monolith or microservices. Warning: it relies heavily on spring framework. So that may be an entry barrier too.

👤 qpiox
OpenXava (https://openxava.org) is an platform that is open source and automatically generates user interface based on CRUD operations (+ much more). Even for one-to-many or many-to-one associations, it creates look up lists and master-detail user interfaces. It also creates interface for searching, for printing reports, for custom queries, for group-by and similar aggregate queries and much more. All automatically.

How? It uses information that you provide which Java class corresponds to which table, Hibernate style JPA ORM annotated classes, either in XML or as plain java classes with annotations (one class per table).

If you have a large database, with multitude of tables, you can use the Hibernate / JBoss reverse engineering tool to generate the mapping classes directly from the database structure. See this: https://eugencovaciq.wordpress.com/2016/02/01/hibernate-tool...

There are other tools that could help. Why OpenXava? Because it is very easy to customize the generated user interface and it is very flexible. You just add @view annotations to the classes that modify how the interface is generated. For example, when you need to drop out some attributes, or not show a link to another table, or when the table is used as a lookup for the foreign key in another table, you can configure how the lookup will look like in one situation, and how in another. You can reconfigure the layout of complicated forms for tables with many attributes, also using view annotations.

I am not involved with OpenXava, but have used it to make an administration interface for several apps. I have a maven script that can be run from the command line, that uses hibernate reverse engineering library to generate the mapping classes and i have the initial app in minutes.


👤 erikcw
We’ve been using Anvil for internal employee tools for the last year or so with much success.

https://anvil.works/


👤 rumanator
For those like me who never heard the term "CRUD screen":

https://wiki.c2.com/?CrudScreen


👤 aosaigh
Are you looking for a framework or a more complete tool? Django or Ruby are good for putting together CRUD tools very quickly. If you make use of their ecosystem of libraries you'll be able to put a Bootstrap CRUD app together in no time (assuming you have webdev experience).

👤 haddr
I wonder if there is something for CRUD as easy as Delphi used to be for rapid prototyping.

👤 seagull
https://tryretool.com (YC W17) is great for this use case.

👤 eugeniox
DaDaBIK (https://dadabik.com) is a no-code low-code platform that can generate a Web CRUD app in minutes starting from your existing DB (but you can also design the DB in DaDaBIK itself).

It has been around since 2001, CRUD generation has been its main aim since the beginning, with the last versions you can also generate very complex applications injecting some custom code (php, javascript) to implement your business logic.

Disclaimer: I am the founder.


👤 tluyben2
There are a lot of nocode/lowcode tools with batteries included if you do not mind paying a monthly fee (although some do not even require that; only a one-off fee). Airtable, Bubble and many others make it really easy to create CRUD apps. There are also open source solutions (I did not try so no idea how good they are) like [0].

[0] https://garrylachman.github.io/ElectroCRUD/


👤 jtwaleson
Low-code solutions are great for this. I worked at Mendix in the past, which I still really like. Competitors are outsystems, Google appmaker, Microsoft powerapps and more.

👤 alharith
The tool you are already the most familiar with will most likely be the fastest. Every new tool has a non-zero upfront learning cost.

👤 PaywallBuster
If you're confortable with Laravel PHP, check out https://backpackforlaravel.com/.

I've used it for a couple of projects over the last few years.

The OSS project has really gone a long way since the earlier days (it was actually called Dick).

Seems to be quite popular too:

500.000+ downloads

14.000+ developers use Backpack every month


👤 vlasky
Grocery CRUD is a CodeIgniter/PHP library that lets you quickly create a CRUD with views. Officially it only supports MySQL but some third-party patches let you use it with other databases.

https://www.grocerycrud.com/



👤 markhalonen
Postgraphile https://github.com/graphile/postgraphile

It's like Hasura but written in a language you can understand.

Using it with great success on two projects, both > 3 months into development on.


👤 pablobico
We just released our visual code-generator: https://www.generato.com/ or https://app.generato.com/

We have built a technological graph to set up your applications in seconds instead of hours, days or even months. You could than apply text-based templates (with placeholders) and generate (and update) out of the browser or our desktop-applications. Individual added code stays where it is!

Currently we support CRUD, Authentication for Java, PostgreSQL and Angular for free, but we are expanding our template-stack and even you as our user are free to integrate your own technology.

We are in a free beta-stage now, so give it a try!


👤 jamesfmilne
Try Xojo for a cross-platform modern VB equivalent.

They can compile to a webapp now too that presents the UI in a browser.

http://www.xojo.com/

Disclaimer: I worked on Xojo’s earlier incarnation REALbasic waaaaay back.


👤 mister_hn
API-Platform is a OpenAPI-based project that helps you focus on the business logic of your project, because the CRUD will be easily generated:

https://api-platform.com/


👤 Saphyel
Look for api platform ( https://github.com/api-platform/api-platform ) otherwise flask rest api is another great option

👤 camkego
You shouldn't overlook Orbeon Forms, it has history going back to 2007 (it seems quite mature). I believe it can just be used like a robust black box to do both CRUD and HTTP web front ends.

👤 la_fayette
If you are looking for something proven I would use django. It is easy to add new models and generate crud-UIs with django-admin. Django has many useful modules for extension.

👤 zikani_03
Try CakePHP. The `bake` tool allows you to create CRUD functionality quickly. Just create your database and run `bin/cake bake all` and it creates everything from models, controllers, views (templates) and even tests!

I have been using it since 1.3.x days and it's just got better over the years - migration between versions was relatively painless.

https://cakephp.org


👤 oblib
PouchDB.js.

PouchDB is, in my opinion, an overlooked gem that deserves more attention.

For small tools you don't even need a backend. It uses your web browser's built-in DB


👤 brandly
I've liked using Parse.

https://parseplatform.org/


👤 serverQuestion
ruby on rails?

👤 collyw
If its for internal use then Django's admin interface is pretty good. It's limited in some aspects (you will need to login to use it) so better suited to internal use than public facing websites, but for many tasks it's amazing.

👤 kohtatsu
This meta-tool was posted 2 days ago, JSON w/ queries -> admin pages.

https://news.ycombinator.com/item?id=22073037


👤 jonotime
There is always swagger codegen, which I have not used in a while. I believe you just give it your json swagger spec and it can generate server stubs of about 20 or so different languages/frameworks.

👤 m_abdelfattah
Ruby on Rails' Active Admin is my favorite https://activeadmin.info

👤 escape42
Just do an AWS API Gateway to DynamoDB serverless integration, free CRUD, no need to implement the individual operations manually.

👤 pier25
On the server check Hasura. You get a GraphQL CRUD over Postgres in almost one click.

👤 altmind
rails and activeadmin. define models, include a gem and you got basic crud admin interface.

👤 popup21
Pencil and paper