Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hantsy/angular-spring-sse-sample
Demo for using Angular and Spring WebFlux Server Sent Events together
https://github.com/hantsy/angular-spring-sse-sample
angular server-sent-events spring-data-mongodb spring-webflux
Last synced: about 2 months ago
JSON representation
Demo for using Angular and Spring WebFlux Server Sent Events together
- Host: GitHub
- URL: https://github.com/hantsy/angular-spring-sse-sample
- Owner: hantsy
- License: gpl-3.0
- Created: 2020-07-12T04:43:23.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-01-31T08:46:33.000Z (11 months ago)
- Last Synced: 2024-10-10T18:44:15.889Z (2 months ago)
- Topics: angular, server-sent-events, spring-data-mongodb, spring-webflux
- Language: TypeScript
- Homepage: https://medium.com/@hantsy/building-a-chat-application-with-angular-and-spring-reactive-sse-c0fdddcd7d70
- Size: 234 KB
- Stars: 14
- Watchers: 4
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# angular-spring-sse-sample
This sample is to demonstrate a chat application using the following cutting-edge technology stack :* Angular as client
* Spring WebFlux based Server Sent Event to broadcast messages to clients
* Spring Data MongoDB based `@Tailable` query result as an infinite stream## Prerequisites
* NodeJS 14
* OpenJDK 14
* Docker for Windows/MacOS## Build
Before running the application, you should build and run client and server side respectively.
### Server
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.
```bash
docker-compose up mongodb
```Build the application.
```e
./gradlew build
```Run the target jar from the *build* folder to start up the application.
```bash
java -jar build/xxx.jar
```### Client
Install dependencies.
```bash
npm install
```Start up the application.
```bash
npm run start
```Open a browser and navigate to http://localhost:4200.