{"id":50330456,"url":"https://github.com/56duong/real-time-chat-websocket-angular-spring-boot","last_synced_at":"2026-05-29T09:03:08.516Z","repository":{"id":270361388,"uuid":"872507081","full_name":"56duong/real-time-chat-websocket-angular-spring-boot","owner":"56duong","description":"A real-time chat app offering individual and group chats, including chat color customization and group management. Users can log in, manage members, view active users, track unseen messages, and upload avatars.","archived":false,"fork":false,"pushed_at":"2026-03-30T15:11:08.000Z","size":1746,"stargazers_count":12,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-03-30T17:16:24.240Z","etag":null,"topics":["angular","chat-application","java","mysql","real-time","sockjs-client","spring-boot","web-socket"],"latest_commit_sha":null,"homepage":"https://www.youtube.com/playlist?list=PLvEvS4scurJxif_9hkn2hNfEQoEkzj_Yu","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/56duong.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-10-14T14:55:23.000Z","updated_at":"2026-03-30T15:11:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"262f0e2f-42ab-4604-91f4-ae7cfc416b70","html_url":"https://github.com/56duong/real-time-chat-websocket-angular-spring-boot","commit_stats":null,"previous_names":["56duong/real-time-chat-websocket-angular-spring-boot"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/56duong/real-time-chat-websocket-angular-spring-boot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/56duong%2Freal-time-chat-websocket-angular-spring-boot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/56duong%2Freal-time-chat-websocket-angular-spring-boot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/56duong%2Freal-time-chat-websocket-angular-spring-boot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/56duong%2Freal-time-chat-websocket-angular-spring-boot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/56duong","download_url":"https://codeload.github.com/56duong/real-time-chat-websocket-angular-spring-boot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/56duong%2Freal-time-chat-websocket-angular-spring-boot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33644313,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-29T02:00:06.066Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular","chat-application","java","mysql","real-time","sockjs-client","spring-boot","web-socket"],"created_at":"2026-05-29T09:03:06.153Z","updated_at":"2026-05-29T09:03:08.502Z","avatar_url":"https://github.com/56duong.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# REAL-TIME CHAT WITH WEBSOCKET\n\nThe 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.\nUsers can log in to view active members, track unseen messages, and personalize their profiles by uploading avatars, ensuring a more engaging and tailored experience.\n\nWhile 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.\n\n\n# Table of Contents\n1. [Demo](#demo)\n2. [Features](#features)\n3. [Tech Stack Versions](#tech-stack-versions)\n4. [Database](#database)\n5. [YouTube Series](#youtube-series)\n6. [Who i am?](#who-i-am)\n7. [License](#license)\n8. [Contact](#contact)\n\n\n## 🎥 Demo\n[![ChatApp](https://github.com/user-attachments/assets/06ceb3e9-0f35-45d5-b652-b860ae8b1944)](https://youtu.be/hG5CgtSj4Qw?t=28\u0026si=sHzOWHetBx4_krSp)\n\n\n## 🌟 Features\n\n- **Real-Time Messaging**: Users can send and receive messages instantly in one-on-one and group chats.\n  \n- **Group Chat**: Create and manage group chats, and group admins can add or remove members.\n  \n- **Chat Customization**: Users can change the color of their chats to make them more personal.\n  \n- **Member Management**: Group admins can manage members by adding or removing them from the group.\n  \n- **Active User Tracking**: Users can see who is online and active in the chat.\n  \n- **Unread Message Notifications**: Users can keep track of unread messages in their chats.\n  \n- **Avatar Upload**: Users can upload and change their profile pictures.\n  \n\n## 📌 Tech Stack Versions\nPlease 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.\n\n- **Java**: 17\n  \n- **Spring Boot**: 3.3.3\n  \n- **Spring Boot Starter WebSocket**: 6.1.12\n  \n- **SockJS-client**: 1.6.1\n  \n- **MySQL**: 8.0\n  \n- **Angular CLI**: 16.2.10\n  \n- **Node.js**: 18.20.2\n  \n- **npm**: 10.5.0\n  \n- **PrimeNG**: 17.18.9\n\n\n## 🗂️ Database\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/user-attachments/assets/4114b2cc-9527-4741-9e35-e65410832bdd\" alt=\"56duong/real-time-chat-websocket-angular-spring-boot/database\" /\u003e\n\u003c/p\u003e\n\n\n## 🎥 YouTube Series\n\nThis project is part of my [YouTube series](https://www.youtube.com/playlist?list=PLvEvS4scurJxif_9hkn2hNfEQoEkzj_Yu), 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.\n\n\n## :wave: Who i am?\n\nA young developer, who dedicated to developing usable apps, not just 'homework apps'. \n\nI 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 :bowl_with_spoon:.\n\n\n## :balance_scale: License\n\nThis project is licensed under the MIT License - see the [LICENSE](https://github.com/56duong/angular-springboot-blog-webapp/blob/master/LICENSE) file for details.\n\n\n## :incoming_envelope: Contact\n\nIf you want to contact me you can reach me at \u003c56duong@gmail.com\u003e. If you'd like to contribute, please fork the repository and use a pull request for changes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F56duong%2Freal-time-chat-websocket-angular-spring-boot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F56duong%2Freal-time-chat-websocket-angular-spring-boot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F56duong%2Freal-time-chat-websocket-angular-spring-boot/lists"}