Let's go ahead with the first demo where I
am going to generate the JHipster App,
and add an entity in order to bid my rest API service.
I'm here with my Visual Studio Terminal,
as it showed you code terminate.
I will just create a new folder call it maybe,
Hello JHipster and then dive into it.
Previously, I installed JHipster,
you can either do it with Homebrew or RPM. There we go.
I just entered JHipster,
and now I can choose which application I want to generate.
I would just stick with
the monolithic application because
that should be good for my demo here.
I don't need to have it reactive,
and I would just call it Hello JHipster.
Before it pick it's name, it's all right for my testing.
I can choose between authentication types
because it will be odd bit for me,
and we're just going to use the symbol JWT Token.
I will use for our development the H2SQL,
and for the production one I will use the MySQL.
We also have different spring cache opportunities,
but as we just do a demo I will just stick with no cache.
Then we can also apply other technologies like
the Open API thing or Open API Solution,
which is going to generate the [inaudible] Json just for me.
That's awesome because then we can
use the custom connector later on.
I don't need anything else,
so I'll just press no.
Then JHipster will generate
the whole application for me without indication,
and plays database abstraction and so on.
I can also do it directly on staff that JHipster.tech,
so I'm doing it right now.
I can connect it to my GitHub or Gitlab.
I will enter the application name.
Here, I can choose with this very exact same options.
I can choose between a monolithic,
or micro-service opportunity, stick with the monolithic one.
I can add the company,
I will pick it's name here.
I can also choose the port name.
I don't need the JHipster registry right now.
Authentication in place, database in place.
Good. I don't need the cache abstraction for my demo here,
but I can have a cache if I want to also generate it.
I'll stick with Maven and then again use the API for it's
development because then it
will generate this Json for me as well.
We will see in a bit how I can just copy
paste with them later on in my PowerApp.
For client-side, we would just use Angular,
but it's going to be just a small client where I
can see and change my data.
Then I can just generate on GitHub.
But before I do that, I will just change
the application name to make it more lively,
and you could also access it right now or in a few seconds.
Let me change the port then,
I don't want to have it all on
the same port in order to run in parallel.
I can also use another testing opportunity.
I could download it and zip if
I add which just generate it on GitHub.
There you go. It's generated and you can exit at this link.
Here it is. It's generated for me.
Great. I said I will also need an entity
and what JHipster offers me is also a JDS Studio,
and it has some examples,
but they're too complex for our simple API,
so I would just cut that out,
and create a new product entity.
Look who's there. Enter some things like the title,
and the description, and what can we need as well.
Let's go with description first and then the rating.
Then I would also like to add an image URL.
Great. I will just stick with String because that prevents us from
other issues we might have dealing with different languages.
In this entity I can save that,
and I can also download it.
But I could also apply this to my GitHub repository,
and we just save it first of all.
Then I'm going to apply it to
my GitHub repository just created a few seconds ago.
Here's my GitHub, the JHipster sample app,
and we'll just apply it right now.
Great. That [inaudible] and let's see what it did.
I mean, you can also see the cool changes,
you can check out my Github for that,
or I will just show it right here.
I have my Visual Studio Code,
and here, you can see my product, Java.
I have the title, the description, the rating,
the image URL,
and also, the product resource where you can see I have the API,
which [inaudible] /API/product with the GET requests,
GET mappings for all products,
or just one product with the ID,
and I can also delete it here.
Let's deploy this app on Azure.
It's going to be very simple for sure because we do have
a Maven plugin for that and it's already integrated in JHipster.
So what I can do and what JHipster allows me to is just enter
JHipster Azure App Service
because I want to deploy it on Azure App Service.
Now, I just have to specify
some things like the Azure resource group name.
You could even skip that one if you do
the command which stands above the AZ configured one,
but I didn't want to cheat so that's all I need to do here.
There's nothing more.
I have to specify the App Service plan name and if there is none,
it will just generate it for me.
What I also did is I chose Build and deploy using GitHub Actions
and that's awesome, because that way, I only need to do this once.
It will be with every new git push on my master branch,
it will be deployed automatically for me.
That saves me tons lot of work.
I have the host CI/CD Pipeline in
place for me without even touching
DevOps or the actions by myself because it was just
done inside the Maven plugin.
As you can see I did it some days ago already,
you can also re-run the script or
the Maven plugin without any errors.
Those are also very good for testing
purposes or if you want to show it like I'm doing it right now.
Cool. So we have deployed the Azure app,
and now I can access at
myhipster.azurewebsites.net/ via to API docs,
this Vega API file.
That's the one I just need to copy and put into
a JSON and that's the one I will hand over to the front end team,
or the Business Intelligence department,
or the team in order to make it very
pretty for the rest of the organization.
Because to be honest, sorry about that.
I will be good with what I have here already.
As a back-end developer, I'm fine with that.
I have my course,
I can also see all the products here with my /api/productsrequest.
If I specify an ID like this,
I can also theme the image uix,
and if I'm interested in the picture,
I can just put it there.
There it is. As I was
told so many times by my business department,
and also by the funding team,
that's not enough for all users.