A high-level, real-time chat application built with modern web technologies. The project leverages SockJS and STOMP.js (using the STOMP protocol) for robust WebSocket communication, and is powered by a Java Spring backend.
- Real-Time Messaging: Instant chat using WebSockets for low-latency communication.
- SockJS & STOMP.js: Ensures reliable messaging even when native WebSockets are not available.
- Spring Boot Backend: Scalable and production-ready server logic written in Java.
- STOMP Protocol: Standard messaging protocol for interoperability and reliability.
- User-Friendly Interface: Modern, responsive front-end for seamless chatting.
- Frontend
- Backend
- Java Spring Boot: RESTful API and WebSocket/STOMP endpoint management.
- Spring WebSocket, Spring Messaging
- Java 11 or higher
- Node.js & npm (if building the frontend separately)
- Maven or Gradle for managing backend dependencies
-
Clone the repository:
git clone https://github.com/winter000boy/Chat-Application.git cd Chat-Application -
Build and run the backend:
./mvnw spring-boot:run
Or, if using Gradle:
./gradlew bootRun
- If the frontend is a separate project, follow its README or serve the static files as specified.
- Client establishes a connection using SockJS.
- STOMP.js is used to communicate with the backend using the STOMP protocol.
- Spring Boot handles messaging, authentication, and business logic.
- WebSocket endpoints are managed by the backend, ensuring real-time delivery.
- Client connects to
/wsendpoint via SockJS. - STOMP.js subscribes to relevant chat topics (e.g.,
/topic/messages). - Users send/receive messages in real time.
Contributions are welcome! Please fork the repo and submit a pull request.
This project is licensed under the MIT License.