Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mechero/full-reactive-stack
Full Reactive Stack with Spring Boot (WebFlux), MongoDB and Angular
https://github.com/mechero/full-reactive-stack
angular docker eventsource mini-book mongodb spring-boot webflux
Last synced: 9 days ago
JSON representation
Full Reactive Stack with Spring Boot (WebFlux), MongoDB and Angular
- Host: GitHub
- URL: https://github.com/mechero/full-reactive-stack
- Owner: mechero
- Created: 2017-10-29T14:54:35.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2023-04-19T09:17:46.000Z (over 1 year ago)
- Last Synced: 2024-10-22T19:45:28.678Z (17 days ago)
- Topics: angular, docker, eventsource, mini-book, mongodb, spring-boot, webflux
- Language: Java
- Homepage: https://thepracticaldeveloper.com/2020/06/16/full-reactive-stack-1-intro/
- Size: 2.33 MB
- Stars: 327
- Watchers: 20
- Forks: 156
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
README
# Full Reactive Stack [![Build Status](https://travis-ci.org/mechero/full-reactive-stack.svg?branch=master)](https://travis-ci.org/mechero/full-reactive-stack)
This repository contains backend and frontend projects that make use of **Reactive Web** patterns,
as explained in the mini book [Full Reactive Stack with Spring Boot 2, WebFlux, MongoDB and Angular](https://leanpub.com/full-reactive) and also in the [Full Reactive Stack series of posts](https://thepracticaldeveloper.com/full-reactive-stack).![Full Reactive Stack Overview](resources/reactive-stack-logical.png)
## Get the mini-book
You can get a copy of the guide on LeanPub: [Full Reactive Stack with Spring Boot 2, WebFlux, MongoDB and Angular](https://leanpub.com/full-reactive).
## Components
### Spring Boot Reactive Web
A Spring Boot 2.3 application that retrieves data using **Spring Reactive Web (WebFlux)**, instead of using the standard Web MVC framework. It connects to a MongoDB database in a reactive way too.
Check [this blog post](https://thepracticaldeveloper.com/2017/11/04/full-reactive-stack-with-spring-webflux-and-angularjs/) for a short version of the guide's full chapter.
### Angular Reactive
A simple Angular application consumes the controller on the backend side using a reactive approach, Server-Sent Events and RxJS, so data is loaded on screen as soon as it's available.
[This blog post](https://thepracticaldeveloper.com/2017/11/04/full-reactive-stack-ii-the-angularjs-client/) contains a summary of the frontend's implementation.
### 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. This is useful in case you want to run the applications without docker (e.g. from your IDE).
## Running the applications with Docker
Make sure to build the applications first, from the `docker` folder:
`docker-compose build`
Then, you can run the set of containers with:
`docker-compose up`
After the services are executed, you can navigate to `localhost:4200` 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.