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.
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.
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.
This adaptor connects react-admin with Hasura:
https://github.com/Steams/ra-data-hasura-graphql
Here's a reference application I put together:
It looks fairly presentable and has a non-awful UI. Certainly not state of the art but good enough for non-public facing stuff.
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.
https://github.com/hasura/graphql-engine
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
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.
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.
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
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.
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!
They can compile to a webapp now too that presents the UI in a browser.
Disclaimer: I worked on Xojo’s earlier incarnation REALbasic waaaaay back.
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.
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