The brackets at the end of each step indicate the alias’s or IntelliJ Live Templates to use. You can find the template definitions at mraible/idea-live-templates.
-
start.spring.io: JPA, H2, Rest Repositories, Lombok, Web, and Actuator [
boot-start]http https://start.spring.io/starter.zip dependencies==h2,data-jpa,data-rest,lombok,web,devtools,actuator -d
-
Add
Car,CarRepository, andApplicationRunnerbean [boot-entity-lombok,boot-repo,boot-data] -
Start and see list of cars in console:
./mvnw spring-boot:run -
Create
CoolCarControllerwith a/cool-carsendpoint [boot-cool] -
Restart and confirm http://localhost:8080/cars works in browser and with HTTPie
http POST :8080/cars name='VW Bus' http PUT :8080/cars/1 name='Hefe the Bus' http DELETE :8080/cars/1
-
Run
ng new client; show app withnpm start -
Install Angular Material [
ng-material]npm i @angular/material @angular/cdk @angular/animations
-
Generate a car service to talk to the API [
a-httpclient-get]ng g s shared/car/car
-
Add
HttpClientModuleas an import inapp.module.ts -
Generate a
CarListComponentand modify it to useCarServiceng g c car-list
-
Update
car-list.component.htmlto show the list of cars [a-ngFor] -
Update
app.component.htmlto use the<app-car-list>component -
Start the app, show error, modify
/cool-carsand repository to use@CrossOrigin
-
Add Angular Material imports and modify HTML [
mat-imports,mat-toolbar,mat-card] -
Modify
styles.cssto specify theme and icons [mat-style] -
Add Animated Cars with Giphy [
ng-giphy-service,ng-giphy-foreach]
-
Create a
CarEditComponentto modify car datang g c car-edit
-
Add a link to edit component (+add button) in
car-list.component.html[mat-edit,mat-add] -
Import the
FormsModuleinapp.module.ts -
Add routing to list and edit components in
app-routing.module.ts[ng-routes] -
Modify edit component and car service to add methods for saving and deleting. [
ng-service-api,ng-service-cud,ng-edit] -
Make the edit template look good + add some CSS. [
mat-form] -
Remove
<app-car-list/>fromapp.component.html, restart, rejoice!
-
Add Spring Security OAuth and dependencies [
ss-oauth] -
Create OIDC app in Okta; add properties to
application.yml[ss-okta] -
Add
@EnableResourceServerand show error athttp://localhost:8080 -
Add Okta’s Angular SDK [
okta-angular]npm i @okta/okta-angular
-
Update
app.module.tsto have Okta config and useOktaAuthModulecomponent [okta-config,ng-oauth] -
Update
app-routing.module.tsto have a new route for the redirect URI callback [ng-callback] -
Create an
AuthInterceptorinokta/auth.interceptor.tsand register it [ng-interceptor,ng-provider] -
Modify
app.component.htmlto have login and logout buttons + adjust CSS [mat-login,toolbar-spacer] -
Change
app.component.tsto be security aware [ng-auth] -
Show app and issue with car list component
-
Create
HomeComponentas a landing page and add routes [mat-home,ng-auth] -
Watch demo fail because of CORS
-
Add a
corsFilterto Spring Security and rejoice 🎉 [cors-filter]