Skip to content

Repository files navigation

Real-Time Chat Application

Overview

I developed a real-time chat application that allows users to communicate seamlessly through both public and private chats. This project leverages WebSocket technology to provide instant message delivery and a smooth user experience. It features a modern, responsive UI and a well-structured backend powered by Java and Spring Boot.

Features

🔹 Public and Private Chat

Users can join a public chat where everyone can send and receive messages in real time. Additionally, they can initiate private conversations with specific users, ensuring personal and confidential communication.

🔹 Real-Time Messaging

Thanks to WebSocket and STOMP (Simple Text Oriented Messaging Protocol), messages are delivered instantly without requiring page reloads. This ensures a dynamic and engaging chatting experience.

🔹 Online Users List

A live list of online users is displayed, making it easy to see who is currently active in the chat. This updates dynamically as users join or leave the application.

🔹 Unread Message Counters

To enhance user experience, unread message counters are implemented. If a user receives a private message while offline or inactive, they can easily see how many messages they missed.

🔹 Auto-Scrolling and Smooth UI

The chat window automatically scrolls to the latest messages, ensuring users don’t have to manually scroll down to see new conversations. The UI is built with a responsive design, making it accessible on both desktop and mobile devices.

Technologies Used

Frontend: HTML, CSS, JavaScript (for dynamic UI updates)

Backend: Java with Spring Boot

Real-Time Communication: WebSocket & STOMP, ActiveMQ as Broker.

What I Learned

Working on this project significantly improved my skills in various areas:

WebSocket & STOMP: I deepened my understanding of real-time communication protocols and how to integrate them into a Spring Boot application.

Java & Spring Boot: Strengthened my backend development skills, focusing on efficient request handling and scalability.

Frontend Development: Gained more experience with creating responsive and interactive UI elements using JavaScript and CSS.

State Management: Implemented mechanisms for tracking user activity, unread messages, and real-time updates efficiently.

Conclusion

This project was an exciting challenge that allowed me to bring together multiple technologies to create a fully functional real-time chat application. It showcases my ability to work with both frontend and backend development, ensuring a smooth and engaging user experience. I am proud of the final result and excited to continue improving and expanding my skills further!

image image image image

About

Real Time Chat is project with I've completed as graduate project of my Full Stack Java Developer course ( by JetBrains Academy)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages