In this course, you will :
- Learn how to create a Reactive web application, both on the backend and on the frontend.
- Examine the benefits and drawbacks of Reactive (and asynchronous) web patterns.
- Fluxes, Monos, and Backpressure are the fundamental concepts of Project Reactor and WebFlux.
- With Spring Data and MongoDB, create a Reactive database access layer.
- Using Reactor's Fluxes, create a reactive API at the controller level.
- Learn the fundamentals of Server-Sent Events and put them into practise.
- Create a simple Angular frontend that uses the reactive APIs.
- Understand the EventSource API and how it can be used in conjunction with a RxJS Observable.
- How to create a full-reactive system, from the database (MongoDB reactive) to the front-end (Angular), by combining a Reactive programming strategy leveraged by Spring WebFlux with the ease of use provided by Spring Boot 2.
- You will be able to compare the Spring WebFlux approach to the standard MVC approach, covering key aspects such as simplicity, performance, user experience, and more.
1. Reactive Web
- Reactive Web Patterns
- WebFlux and Project Reactor
- Advantages of Using Reactive Web
- Is Non-Blocking the Same as Reactive?
- The Client Web Application
2. Full Reactive Stack Backend
- Project Reactor: Main Features
- WebFlux: Main Features
- Creating the Backend Application
- Designing the Backend Application
- Repository Layer
- Reactive Controller
- Enabling CORS in Spring WebFlux and Returning a Flux
- Blocking Controller and Repository
- Loading Data Into MongoDB With an ApplicationRunner
- Running the Backend
- Playing With Reactive and Classic Endpoints
3. Connecting Angular With the WebFlux Backend
- Angular Reactive Service
- Angular Components
- Running the Frontend