This sample is to demonstrate a chat application using the following cutting-edge technology stack :
- Angular as WebSocket client
- Spring WebFlux based Reactive WebSocket APIs
- In-memory Reactor Sink as a message queue(feat/reactor-sinks branch) or
- Spring Data MongoDB based
@Tailable
query result as an infinite stream
- NodeJS 14
- OpenJDK 14
- Docker for Windows(or Mac if you are a MacOS user)
Before running the application, you should build and run client and server side respectively.
Run a MongoDB service firstly, simply you can run it from a Docker container. There is a docker-compose.yaml
file is ready for you.
docker-compose up mongodb
Build the application.
./gradlew build
Run the target jar from the build folder to start up the application.
java -jar build/xxx.jar
Install dependencies.
npm install
Start up the application.
npm run start
Now you can open a browser and navigate to http://localhost:4200 and have a try.