The platform supports both individual and group chats, allowing users to communicate seamlessly. It includes features like chat color customization and the ability to manage group members effectively. Users can log in to view active members, track unseen messages, and personalize their profiles by uploading avatars, ensuring a more engaging and tailored experience.
While the code may not be perfect and may still contain bugs, the goal is to provide a practical, hands-on experience in building a real-world application. Your feedback and contributions are always welcome.
-
Real-Time Messaging: Users can send and receive messages instantly in one-on-one and group chats.
-
Group Chat: Create and manage group chats, and group admins can add or remove members.
-
Chat Customization: Users can change the color of their chats to make them more personal.
-
Member Management: Group admins can manage members by adding or removing them from the group.
-
Active User Tracking: Users can see who is online and active in the chat.
-
Unread Message Notifications: Users can keep track of unread messages in their chats.
-
Avatar Upload: Users can upload and change their profile pictures.
Please note that the versions listed below are the ones used during the development of this application. The application may work with other versions as well, but these are the ones that have been tested and confirmed to work.
-
Java: 17
-
Spring Boot: 3.3.3
-
Spring Boot Starter WebSocket: 6.1.12
-
SockJS-client: 1.6.1
-
MySQL: 8.0
-
Angular CLI: 16.2.10
-
Node.js: 18.20.2
-
npm: 10.5.0
-
PrimeNG: 17.18.9
This project is part of my YouTube series, where I document the development process and share insights on building real-world applications. You can follow along with the series to view more about the application's architecture, implementation details, and best practices.
A young developer, who dedicated to developing usable apps, not just 'homework apps'.
I delight in sharing my knowledge and experiences, hoping to inspire others to embark on their own journey in application development. Also, I have a fondness for sour soup 🥣.
This project is licensed under the MIT License - see the LICENSE file for details.
If you want to contact me you can reach me at [email protected]. If you'd like to contribute, please fork the repository and use a pull request for changes.