Skip to content

Demo with reactive webflux(empowered by sprint boot 2.0) Kotlin and angular as frontend

License

Notifications You must be signed in to change notification settings

ujjeeq/reactive-spring-boot-angular-moviestar

Repository files navigation

reactive-spring-boot-angular-moviestar

This example app shows how to build a basic non-blocking reactive full stack app with Spring Boot 2.0, Spring Data, and Angular 5.0.

The server(Backend) part provides two REST APIs, /stars and /stars/{id} that return data from a reactive MongoDB database. And accessing all other actuator endpoints(eg. /actuator/info, /actuator/env) requires authorization which is empowered by Spring Security(usernmae,passwords are configured in application.properties).The programming language for backend is using Kotlin. And it brings with a Kotlin routing DSL that allows one to leverage the WebFlux functional API for writing clean and idiomatic code.

The client(Frontend) part is using Angular 5 to present the data list from REST API and provied operation on them. And also add function to retrieve movie star images from a public open movie and TV database TMDB.

Prerequisites: Java 8 (Kotlin TargetJVM 1.8) and Node.js.

Getting Started

To install this example application, run the following commands:

git clone https://github.com/ujjeeq/reactive-spring-boot-angular-moviestar.git
cd reactive-spring-boot-angular-moviestar

This will get a copy of the project installed locally. To install all of its dependencies and start each app, follow the instructions below.

To run the server, directly run:

./gradlew bootRun

then to reach the REST APIs on http://localhost:8080/stars ;

And with username/password set in application.properties, it is possible to access actuator endpoints, like:

 curl -u abc:abc123 http://localhost:8080/actuator/info

or by using browsers.

Also there is social Oauth 2.0 login function to access those endpoint.

To run the client, cd into the client folder and run:

npm install && npm start

then to check the FrontEnd on http://localhost:4200/ .

Technologies Used

License

Apache 2.0, see LICENSE

About

Demo with reactive webflux(empowered by sprint boot 2.0) Kotlin and angular as frontend

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published