There is a sample book version available for download on the above link as well. It has 80 pages and brings many interesting topics like Introduction to NoSQL, Cassandra, Redis, Spring Boot, Spring Data and Introduction to WebSockets and STOMP protocol.
- Spring Boot
- Spring Data (JPA / Cassandra / Redis)
- Spring Security
- Spring WebSocket
- Spring Session
- Cassandra
- Redis
- RabbitMQ
- MySQL
- JUnit, Mockito and TestContainers (spin up Docker containers for Integration Tests)
- Thymeleaf, JQuery and Bootstrap
- Apache Maven (Surefire and Failsafe plugins)
Note: The fastest way to get this application up and running locally is using Docker and Docker Compose. Be sure that you have at least Docker 1.13.0 and Docker Compose 1.11.2 installed on your machine.
- Clone this repository
$ git clone git@github.com:jorgeacetozi/ebook-chat-app-spring-websocket-cassandra-redis-rabbitmq.git
- Setup the dependencies (Cassandra, Redis, MySQL and RabbitMQ with STOMP support)
$ docker-compose -f docker-compose/dependencies.yml up
- Start the application
$ wget https://github.com/jorgeacetozi/ebook-chat-app-spring-websocket-cassandra-redis/releases/download/ebook-chat-1.0.0/ebook-chat-1.0.0.jar && java -jar ebook-chat-1.0.0.jar
- Sign in with username admin and password admin
- Create a New Chat Room and logout
- Create your private account
- Sign in with your account credentials
- Join the chat room
- Open a new incognito window and create another account
- Sign in with this another account
- Join the chat room
- Send some messages
- Open the other browser window and see the messages coming
- Click the username to send private messages