This is a learning project to practice working with WebSocket in Spring Boot. The application allows users to register, log in, and exchange messages in real-time in a common chat. The project is based on a YouTube tutorial but has been enhanced with custom logic, including improved login/logout event handling and reconnection.
- User registration and authentication.
- Real-time chat via WebSocket.
- Notifications for user login/logout.
- Backend: Spring Boot, Spring WebSocket, Spring Security, Spring Data JPA, Lombok, Maven.
- Frontend: HTML, CSS, JavaScript, SockJS, STOMP.js, Thymeleaf.
- Database: MySQL.
- Register (
/register
) or log in (/login
). - Send messages on the main page (
/
). - Test login/logout notifications in multiple tabs.
- The project is for learning purposes and is not intended for production.
- The code is partially based on a YouTube tutorial, with added custom logic (e.g., reconnection and styling).
- Add private chats.
- Save message history.
- Improve the user interface.
Это учебный проект для практики работы с WebSocket в Spring Boot. Приложение позволяет пользователям регистрироваться, входить в систему и обмениваться сообщениями в реальном времени в общем чате. Проект основан на видеоуроке YouTube, но дополнен собственной логикой, включая улучшенную обработку событий входа/выхода и переподключение.
- Регистрация и аутентификация пользователей.
- Чат в реальном времени через WebSocket.
- Уведомления о входе/выходе пользователей.
- Бэкенд: Spring Boot, Spring WebSocket, Spring Security, Spring Data JPA, Lombok, Maven.
- Фронтенд: HTML, CSS, JavaScript, SockJS, STOMP.js, Thymeleaf.
- База данных: MySQL.
- Зарегистрируйтесь (
/register
) или войдите (/login
). - Отправляйте сообщения на главной странице (
/
). - Тестируйте уведомления о входе/выходе в нескольких вкладках.
- Проект создан для обучения и не предназначен для продакшена.
- Код частично основан на YouTube-уроке, с добавлением собственной логики (например, переподключение и стилизация).
- Добавить приватные чаты.
- Сохранять историю сообщений.
- Улучшить интерфейс.