Real-time chat application built with React and Spring Boot. Talk with online friends, either in private or public ways.
- Chatting using Spring WebSocket, using Stomp protocol over SockJS
- Allowing public channels and private channels
- Stomp Topic & Queue Subscription
- Online & Offline User Detection
- Closing Browser Detection
- JDK 17
- Spring Boot 3.x.x
- PostgreSQL
- NodeJS v20.12.2
- ReactJS v18
- TailwindCSS v3.4.3
-
Create your
.env
file, then set up your database configuration (database name, username, password). For example:POSTGRES_DB=chat POSTGRES_USER=postgres POSTGRES_PASSWORD=password DATASOURCE_URL=jdbc:postgresql://db:5432/
Note that
DATASOURCE_URL
is setup based on the postgres container name and port as you setup in thedocker-compose.yaml
file. -
Running the following command:
docker-compose up --build -d
Warning: Be sure that no other app is running on port 3000, 8080 or 5432