Netcracker EDU (Summer 2021) - Выпускной проект
Ключевые фичи:
- Профили пользователей ✅
- Персональные чаты ✅
- Групповые чаты ✅
- Поиск пользователей и сообщений
- Аттачменты в сообщениях
Путь | Команда | Описание |
---|---|---|
/react-web | npm install |
Установка зависимостей node.js |
/react-web | npm watch |
Сборка react-приложения в единый .js |
/scripts | move-to-resources.sh |
Перенос собранного файла в ресурсы проекта |
/scripts | db-create.sh |
Создание PostgreSQL БД |
/ | mvn install |
Установка зависимостей приложения |
/ | mvn spring-boot:run |
Запуск spring-boot |
🟡 POST
/api/registration
- регистрирует пользователя в системе
Request body: json
Поле | Описание |
---|---|
username |
Идентификатор пользователя |
password |
Пароль |
first_name |
Имя |
last_name |
Фамилия |
phone_number |
Номер телефона |
email |
Электронный адрес (опционально) |
bio |
Биография пользователя (опционально) |
profile_picture_id |
Фотография пользователя (опционально) |
🟢 GET
/api/user/{user_id}
- возвращает информацию о пользователе
🟢 GET
/api/user/all
- возвращает список всех пользователей
🟢 GET
/api/user/{user_id}/chats
- возвращает список чатов, доступных пользователю
🔴 DELETE
/api/user/{user_id}
- удаляет пользователя, все персональные чаты и сообщения из групповых чатов
🟡 POST
/api/chat/create
- создает чат
Request body: json
Поле | Описание |
---|---|
members_id |
Список идентификаторов участников чата |
chat_name |
Название чата (только групповой) (опционально) |
picture_id |
Фотография чата (только групповой) (опционально) |
🟡 POST
/api/chat/{chat_id}
- добавляет сообщение в чат
Request body: json
Поле | Описание |
---|---|
text |
Текст сообщения |
attachment_id |
Идентификатор вложения (опционально) |
🟢 GET
/api/chat/{chat_id}
- возвращает информацию о чате
🟢 GET
/api/chat/{chat_id}/messages/all
- возвращает все сообщения чата
🟢 GET
/api/chat/{chat_id}/messages?page_size={page_size}&page_num={page_num}
- возвращает сообщения чата в виде страниц
🔴 DELETE
/api/chat/{chat_id}
- удаляет чат
🟡 POST
/api/message/{message_id}/read
- помечает сообщение (и все сообщение в этом чате до него) как "прочитанные"
🔴 DELETE
/api/message/{message_id}
- удаляет сообщение и вложение (если имеется)