From the beginning of my programming I was pissed by the repetitive tasks. Most of the software for the business implies a database ( for me, it was mostly SqlServer – but can be also IBM DB2 , Oracle, others) and making a GUI for CRUD operations. Agree , the initial CRUD GUI was improving over time with business requirements – from a simple GUI to something more complex. But , in the first phase, it was a simple GUI that performs CRUD operations.
I have started to automatically generated the CRUD SQL for tables – then generating VB6 frm text files for this. Then I was having just the source code for a CRUD application that I need to copy into my application. And that saves me a lot of time! side note : After making this I saw that multiple people have the same idea in that time – but better suited as product ( as an example, CodeSmith)
Fast forward to our days : everywhere there is the DevOps / CI / CD . That means that you can automatically compile ( usually, with an YAML file ) the source code and make the application.
So let’s put those ideas together : we can generate the source code and then compile and deploy the application, Or , in other terms : is : if you have a well formed data source then you will receive an well formed CRUD application . If I want to put a name, it is Software Application As Commodity ( SAAC )
Until here , there was the theory . Now let’s see some practice. Please prepare an EXCEL that has sheeets tables –like and go to http://demo.adces.ro:8080/ . You can generate
- .NET Core WebAPI application with DataAccessLayer, BusinessLayer
- Angular Application that communicates with the backend
- Cordova application
- Source code for 1,2,3
- A ready to try CRUD site ( composed by compiling the Angular and put into wwwroot of the .NET Core) with a SqlServer database that has the data from Excel ( just the first 200 rows, to not spam)
- An APK Android application – the html of Angular build put into Cordova and compiled into APK. It communicates with the Website deployed at 5
Of course this is just a proof of concept. All it is based on templates ( compiled with Razor ) that can be modified to obtain any kind of application. And can be extended too . But , how this is made, in future posts – see you next time.