GitHunt
GG

ggarg2/full-reactive-stack

Full Reactive Stack with Spring Boot (WebFlux), MongoDB and Angular

Full Reactive Stack Build Status

This repository contains backend and frontend projects that make use of Reactive Web patterns,
as explained in the Full Reactive Stack
series of posts.

Full Reactive Stack Overview

Components

Spring Boot Reactive Web

This is a Spring Boot 2.0 application that retrieves data using Spring Reactive Web (WebFlux),
instead of using the standard synchronous MVC framework. It connects to a MongoDB database in a reactive
way too.

Check this blog post
for the complete description of the implementation.

Angular Reactive

This simple Angular application consumes the controller on the backend side using a reactive approach,
Server-Sent Events, so data is loaded on screen as soon as it's available.

This blog post
has the full instructions on how it has been implemented.

Docker

The docker folder contains a docker-compose file that runs the Mongo database, the backend application
and the Angular application. It also contains a simplified version, docker-compose-mongo-only.yml, which
runs only the MongoDB instance, in case you want to run the applications without docker.

Running the applications with Docker

Make sure to build the applications first:

  • For the Angular application, run first npm install and then npm run ng build
    in the angular-reactive folder. It generates a dist folder.
  • For the Spring Boot application, execute mvnw clean package in the spring-boot-reactive-web folder.
    That command generates the jar file in the target folder.

Then you need to run docker-compose up from the docker folder. After the services are executed, you
can navigate to localhost:8900 to see the applications running. If you're running Docker in a different
machine (like when using a VM in Windows), replace localhost for the Docker machine IP.

Languages

Java63.1%TypeScript27.2%HTML5.2%JavaScript4.2%CSS0.3%

Contributors

Created May 6, 2018
Updated May 6, 2018
ggarg2/full-reactive-stack | GitHunt