$199.00
Description
This package is the App Builder + Code Generation – Spring Micro Service – Vaadin App – a Backend for my Server Driven IntelliJ Plugin. Some time ago I’ve released the source code of the plugin on GitHub. I have a lot of todos left on it – especially documentation. I’ll address it when I have free time.
Login with Google
I’ve made some progress on implementing custom login authentication (via the inline database) – included in the source code, but I have frozen the advancement of this feature for now and integrated Google Login. The reason is – there are too many points of potential security problems – described in this blog post: https://programtom.com/dev/2023/12/21/authentication-endpoints-high-security-attack-vector/.
To get Login with Google working in this package, you need to either
- edit application.properties file with configuration grabbed from https://console.cloud.google.com/apis/credentials/oauthclient/ (client-id and client-secret)
- or provide these properties in the docker-compose.yaml file for the “web” Micro Service.
The result of the login is the following:
The first screen is informative
- what the app uses
- what the app is about
Then – after clicking login – you could choose from your google profiles. After successful authentication you will get the following screen:
Code Generation / IntelliJ Plugin
In the current version of my App Builder IntelliJ Plugin, there are two types of modifications that may be executed on to the source code:
- New File Creation
- Existing File Modification
This – in the IDE – is executed with – context action on files in your project or content asist action in your editor. From my App Builder Administrative interface this could be configured with the following screens.
First – you need to create simple Code Provider record. This in the future will be item to be picked in the IDE – as code assist provider.
As you can see – you will be able to create list of related records.
- Generator Activator Groups.
As Invisioned for the future features – requirements for a feature to get acticated – it needs activators. In low level terms – this means regexes.
But, many features require more than one activator to get activated. This is why the activators are in groups.
These activators may be attached to
- New file Generators
Or Existing File Changers
The actual code generation, file change happen on the Back-End Endpoints that are part of these Data Models that will be documented in the fututre.
These are essentially the administrative screen for the IntelliJ Plugin.
App Builder
For full scale Application Generation – First – you need to define your Application Templates. My current list of templates consists of Vaadin Spring Boot based Web App. At the moment (17.02.2024) – this is the base for many of my Micro Services https://programtom.com/dev/product-category/technologies/spring-boot-framework/?orderby=date-desc.
Code Provider Platforms contains related records:
- File Changes – for new files
- and Code Templates. These may generate partial snippets that cannot be compiled, but may produce some useful code. These are used in new project generation.
After that I can get you do the Apps. The list of them are displayed when tapping on App Builder Models
Apps
Apps contain list of apps and it has related datam models, source code packages, and an action Button – Generate App Source Code.
Data Models
This is list of Data models defined for this app.
Field related to Data Models
Model Properties are more or less – the visual items that the user will see.
Define Hidden Model Properties – id fields, related to the foreign tables properties and any other fields that generally – it is not directly displayed.
To Archive Many to One, One to Many or Many to Many – you need links between data models. This is done by linking Data Models and Hidden Fields.
After setting up your items, you may execute Source Code Generation. You may execite build based on the previously setuped Platforms.
After successful build of a package – you may
- Download the generated package
- Try to use my server to compile a jar or war file. This is not tested feature. The goal is to get the apps accessible from my server – without the need to download the compile the app definitions on your computer.
Application Level White Listing
The app includes integration with Application Level IP White Listing. If you do not want to buy it – you may edit WhiteIpAddressService.java and hard code your own IPs – or remove it all together.