Category: ExcelToApp

Software Application As Commodity–Excel–part 2

Now , about how the workflow is organized . 

Step 1:  Read Excel

With https://www.nuget.org/packages/stankins.excel .

  • From this it should find the name of the sheet  = name of the tables.
  • Also, it should find the first row with names ( = column names).

So it generates models for each sheet

Step 2: Generating .NET Core , Angular and Cordova source code

  • There are templates, in Razor style. It pass the models for the sheet and generates the source code.
  • Also , will generate docker files to compile the application on docker

Step 3: Generating executables

  •    Push the source codes from Step 2 to GitHub
  •    The Github actions takes the docker files, generates the applications ( WebSite, Android )  into the docker , copies and puts into releases of Github
  • Also, it puts the Angular files into the wwwroot of the .NET Coreo
  • The application waits for the releases to be generated

Step 4: Creating application

  • The application downloads the releases on the local
  • Creates a Virtual Directory with the release
  • Show the link to the Virtual Directory and to the APK application

And that is all. You can try the demo at http://demo.adces.ro:8080/

Software Application As Commodity–Excel–part 1

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

  1. .NET Core WebAPI application with DataAccessLayer, BusinessLayer
  2. Angular Application that communicates with the backend
  3. Cordova application
  4. Source code for 1,2,3
  5. 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)
  6. 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.


Andrei Ignat weekly software news(mostly .NET)

* indicates required

Please select all the ways you would like to hear from me:

You can unsubscribe at any time by clicking the link in the footer of our emails. For information about our privacy practices, please visit our website.

We use Mailchimp as our marketing platform. By clicking below to subscribe, you acknowledge that your information will be transferred to Mailchimp for processing. Learn more about Mailchimp's privacy practices here.