Сервис является RESTful API позволяющее пользователям отправлять сообщения друг другу(аналог мессенджера). Согласно ТЗ реализованы все основные требования, все дополнительные задания и почти все дополнительные требования(будет плюсом).
-
регистрация нового пользователя;
-
Вход пользователя в систему;
-
Выход пользователя из системы;
-
Обновление данных пользователя;
-
Обновление пароля пользователя;
-
Удаление аккаунта пользователя;
-
Отправление сообщений другому пользователю по его никнейму;
-
Просмотр истории общения с другим пользователем;
-
Просмотр списка друзей;
-
Добавление другого пользователя в друзья;
-
Ограничение получения сообщений своим кругом друзей;
-
Просмотр списка друзей другого пользователя;
-
Скрывание списка друзей;
-
использование базы данных (PostgreSQL или MongoDB) для хранения данных о пользователях и переписках между ними;
-
документирование запросов через Swagger;
-
Java 20
-
Spring Boot
-
Spring Web
-
Spring WebSockets
-
Spring Data Jpa
-
Spring Security
-
Spring Validation
-
Spring Mail
-
Postgresgl
-
Liquibase
-
Swagger
-
Mapstruct
-
Docker
-
Maven
Для корректной работы приложения необходимо настроить Spring Mail. Для этого нужно передать environment параметры:
-
MAIL_HOST
-
MAIL_PORT
-
MAIL_USERNAME
-
MAIL_PASSWORD
-
STARTTLS_ENABLE
Склонировать репозиторий, выполнив команду: git clone https://github.com/lofominhili/TrendChat.git
Добавить environment переменные в сервисе app файла compose.yaml
.
Написать в терминале команду mvn clean package
Написать в терминале команду docker compose up
Все параметры на вход Rest-запросов и ответы этих запросов можно посмотреть в swagger
Post /sign-up
Get /sign-in
Post /sign-out
Put /update-profile
Put /update-password
Post /deactivate-account
`/chatroom/*`
Get /get
Post /add/{username}
Get /get/{username}
Post /hide