
Ask HN: Is there any open source tool for creating simple CRUD Apps? - aswinmohanme
Is there any tools that can make making CRUD apps easier ?<p>It should allow creating forms for data input and updates and it should be preferably open-source.<p>I am thinking more like metabase for creating dashboards, does any such tool exists ?<p>I am using Rails currently
======
artpar
Checkout Daptin
[https://github.com/daptin/daptin](https://github.com/daptin/daptin)

I have build a lot of crud apps with daptin as the backend. I have been
building daptin since about 2 years now.

Daptin will be able to give you much more than just CRUD. Things like
authentication/authorization/user management. Maybe you would want OTP based
login in future, maybe not. There are a lot of features like that.

It's written in golang so you can get a single independent binary which can
run anywhere. There is a docker image as well if you prefer that.

------
factorialboy
If you are familiar with Rails, I would strongly recommend investigating
Django.

Here's why:

\- Django admin gives you all the CRUD you need

\- ORM to design your models, simple or complex

\- Baked in user auth system

\- Secure defaults

\- Host of pre-built plugins (Django apps)

\- Python 3 is a solid language you will love

\- Ability to extend in the future if the need arises

------
dvdhsu
Hi, yes, this is what Retool is for!
([https://retool.com](https://retool.com))

It's like Metabase, but instead of for buliding dashboards, it's for building
CRUD apps. LMK if you have any feedback? We've been working on it for a bit
now.

Thanks!

~~~
dhruvkar
This seems like a cool product, something that we could use.

However our main ERP system doesn't have an API, so I've been building a
custom scraper that feeds into a Django app, which allows custom tooling
around our data.

This would have been perfect if it allowed for building scrapers to feed the
custom db.

------
innerzeal
Have you looked at:

* Hasura ([https://hasura.io/](https://hasura.io/))

* [https://www.prisma.io/](https://www.prisma.io/)

* [https://www.graphile.org/postgraphile/](https://www.graphile.org/postgraphile/)

~~~
toomuchtodo
Related Hasura comment:
[https://news.ycombinator.com/item?id=22787313](https://news.ycombinator.com/item?id=22787313)

~~~
nightowl_games
Wow epic comment.

Serious question though, why post hog & metabase? Dont they overlap?

~~~
gavinray
Sort of. They're capable of analytics, but Metabase is a Business Intelligence
tool, and Posthog is focused on user interaction/website analytics.

They both give you incredibly useful data, but different kinds. Metabase lets
you analyze trends/relationships in your overall database-layer data. Posthog
lets you analyze how users are interacting with your website/app and where
your traffic is coming from.

It's like Tableau vs Mixpanel/Amplitude.

------
la6471
Try [https://github.com/anvil-works/anvil-runtime](https://github.com/anvil-
works/anvil-runtime)

No JavaScript nonsense all python code

~~~
zaro
I would say that in the world of Web applications Python is the nonsense :)

~~~
spicypineapple
Mind explaining why you believe so?

~~~
zaro
Well, not a belief more like a practicaly oriented mindset :)

In any modern web application you most probably will end up using Javascript
for the frontend part, and you have plenty of choice for the backend, which
actually includes some really good options both in Javascript and Typescript.

So choosing Python makes you swtich languages between FE and BE.

Then if we are talking about the BE, Javascript is usually more performant,
there is bigger choice of libraries and frameworks, and the tooling is simply
better ( and improving).

And then there is the async story. Yes Python has a way to write async code,
but is more like a patch on top of fully synchronous language rather than full
solution, not to mention the very crippled syntax of Python that doesn't let
you write anonymous functions.

~~~
la6471
Yes all true but if I am familiar with php or python I should be able to
create an web application without learning javascript. This was possible few
years back so if it is not possible anymore then it is a regression IMHO.
anvil.works also makes it possible so it is great for creating my apps.

------
throwaway888abc
With admin/client part builder, all open source and can be self-hosted:

(Node) [https://strapi.io/](https://strapi.io/)

(PHP) [https://directus.io/](https://directus.io/)

(PHP) [https://getcockpit.com/](https://getcockpit.com/)

------
tobyhede
Rails has active admin and a couple of similar options.

I've built quite complex apps with activeadmin, it's worth looking at.

~~~
ericb
I've built whole apps out of active_scaffold. Really powerful, but still able
to be flexible.

[https://github.com/activescaffold/active_scaffold](https://github.com/activescaffold/active_scaffold)

------
gitgud
React admin is a pretty good framework I've worked with. It's mature and very
pleasant to deal with. It's also got data providers for many different
databases.

[https://github.com/marmelab/react-admin](https://github.com/marmelab/react-
admin)

------
Jugurtha
Flask-Admin[^1] lets you set up CRUD apps easily. You declare your model and
it automatically builds up the CRUD views, which you can restrict, with
templates you can customize, and views you can override.

[^1]: [https://flask-admin.readthedocs.io/en/latest/](https://flask-
admin.readthedocs.io/en/latest/)

------
Yhippa
JHipster: [https://www.jhipster.tech/](https://www.jhipster.tech/)

~~~
AlexTDS
I’ve been using JHipster for a month now and it’s really allowed me to get my
side projects off the ground in no time. The CI-CD generator was a huge help
too.

~~~
Yhippa
I'd be curious to know your use cases. I once used it to rewrite a mainframe
application.

------
contravariant
I've seen people mention react admin on here, but I haven't gotten round to
trying it out myself.

------
acarrera94
I’ve used strapi in production apps. Works great, and has a graphql plugin.
I’d recommend it!

------
lawwantsin17
Literally everything does CRUD. Easier is a mirage you'll never reach. I say
add Snippets for common things and more file generating and keep cracking with
Rails. You'll speed up in no time.

------
joshmn
Since you're using Rails, ActiveAdmin is pretty slick. It's an entirely new
DSL (see: potential technical debt), but once you get the hang of it, it's
hard to beat.

There's also
[https://github.com/activeadmin/inherited_resources](https://github.com/activeadmin/inherited_resources)
which is what ActiveAdmin uses under the hood. This will take away a lot of
the pain of creating said forms.

Obviously you could `rails g scaffold` too.

------
narak
I've been playing with hyperfiddle (clojure):
[http://www.hyperfiddle.net/](http://www.hyperfiddle.net/)

~~~
jonahbenton
+1 for Hyperfiddle. Solid, powerful, visionary product.

------
bsldld
CouchDB+PouchDB: Serve pages directly from DB

Jasonelle[0]: Write mobile native apps using JSON

[0] [https://jasonelle.com](https://jasonelle.com)

------
matt_s
You're on Rails, just scaffold everything.

Any solution that provides a UI for you over database tables is going to feel
clunky after a while. If your purpose is to just get something up, use Rails
scaffold and throw some bootstrap at it.

When you reach the point where you need more sophistication in your UI, then
you can more easily pivot from a set of templates created from scaffold vs.
getting locked into something like Active Admin.

------
ritchiea
Use Active Admin for your dashboards. Inherited resources for controllers,
which generates a set of restful actions for a model. And simple form for your
forms. They’re all rails ready ruby gems.

This covers 60-80% of the most basic CRUD use cases. Though with any
reasonably robust real world application you'll still need to write a lot of
more specific, custom logic for the pages that are critical to your domain.

------
NourEddineX
If python is considerable, I'd recommend Flask AppBuilder
:[https://github.com/dpgaspar/Flask-
AppBuilder](https://github.com/dpgaspar/Flask-AppBuilder) I used it myself in
a freelance project

It has pretty everything I needed

------
pkphilip
Yii Framework for PHP has a pretty decent CRUD generation tool integrated into
it.

[https://www.yiiframework.com/doc/guide/2.0/en/start-
gii](https://www.yiiframework.com/doc/guide/2.0/en/start-gii)

------
louisremi
If you're into Node/Typescript you should have a look at Warthog. It looks a
lot like the old Prisma 1
[https://github.com/goldcaddy77/warthog](https://github.com/goldcaddy77/warthog)

------
bigbassroller
Elixir + Phoenix + Pow (although very soon there will be ‘mix phx. gen auth’
[https://hexdocs.pm/phx_gen_auth/overview.html](https://hexdocs.pm/phx_gen_auth/overview.html))

------
louis8799
django-admin
[https://docs.djangoproject.com/en/3.0/ref/contrib/admin/](https://docs.djangoproject.com/en/3.0/ref/contrib/admin/)

~~~
postpawl
Also flask—admin for flask: [https://github.com/flask-admin/flask-
admin](https://github.com/flask-admin/flask-admin)

I find flask-admin easier to customize than django’s admin. The django
ecosystem has a ton of libraries to add functionality to django admin though.

------
zubairq
There is also Yazz Pilot, works on nodejs, docker, k8s or as an .exe or
binary. [https://github.com/zubairq/pilot](https://github.com/zubairq/pilot)

------
mike_d
[https://www.userfrosting.com/](https://www.userfrosting.com/) is a good start
if you need multiple users and ACLs.

------
thedevindevops
Have you looked at openxava
([https://www.openxava.org/](https://www.openxava.org/))

------
collyw
Django's admin is pretty good.

------
demosthenex
I've been seeking a terminal based CRUD for ages.

------
verdverm
We're working on some futurology like technology, and something like this will
be possible by the end of the quarter. If you'd like to follow along:

[https://github.com/hofstadter-io/hof](https://github.com/hofstadter-io/hof)
(core tech)

[https://github.com/hofstadter-io/_saas](https://github.com/hofstadter-
io/_saas) (open source "SaaS" to replace all those services you pay for today,
and the primary example of building applications in hof-land)

------
raidenmechai
divjoy.com is good for simple CRUD apps

------
redis_mlc
FYI: In the Perl world, CGI::Formbuilder + HTML::Template is a really
comprehensive form-centric way of writing CRUD applications.

[https://metacpan.org/pod/CGI::FormBuilder](https://metacpan.org/pod/CGI::FormBuilder)

