Generating CUBA applications from the annotated DDLs

Typical business applications have 100s of tables. Many of them follow similar patterns (lists, master-detail). All these need CRUD forms.

It takes a lot of time if we write them manually. CUBA Studio is great for creating tables and screens with visual designers but who wants to repeat this for 100s of tables?

I wanted a tool which would generate CUBA entities and CRUD forms from an annotated CREATE TABLE statements.

This is what I came up with: postgresapps.com/cuba

From this:

currency-table

To this:

cuba-currency-browse-window

cuba-currency-edit-window

2 Likes

As far as I know there is a built-in reverse engineering tool in CUBA Studio: https://doc.cuba-platform.com/studio/#generate_model

You may generate data model and CRUD screens using your database connection.

Thank you for the link. I used CUBA CLI’s create-screen and I missed table columns in the generated files. I wanted to generate complete screens based on the @annotations in the DDL files.

CUBA Studio is great but I have 400+ tables in my project and I wanted to avoid manually clicking through the wizards.

CUBA is only the first “target”. I want to be able to generate the same application in other frameworks in case a client prefers other platforms/languages.

It all started as a proof of concept after reading Derek Sivers post about puting data logic inside a database (sivers.org/pg).

It could be a valid approach for medium sized business applications (and small teams). I wanted to see how much time could be saved using a tool like this.