Курсовое задание по фронтенду

Описание

Необходимо написать фронтенд для мессенджера.

Результат предоставить в виде pull request в этот репозиторй.

Критерии приёмки

Для получения высшего балла должен быть реализован следующий функционал:

  1. Регистрация и вход
  2. Поиск другого пользователя по имени
  3. Чат с другим пользователем
  4. Публичный чат со всеми пользователями
  5. Список всех своих чатов

Нефункциональные требования:

  1. Приём сообщений должен быть реализован через WebSocket
  2. Корректное использование семантических HTML тегов
  3. Какое-то подобие дизайна

Мотивация

Первые 5 студентов, выполнивших все функциональные и нефункциональные требования, получают высший балл автоматически, без явки на зачёт.

REST API

http://messenger.westeurope.cloudapp.azure.com/swagger

Аутентификация

Результатом вызова методов signup и signin является объект с полем token. Подробнее об этих токенах: https://jwt.io/

При вызове всех остальных методов нужно подставлять полученный токен в заголовки запроса:

Authorization: Bearer eyJhbGciOiJ

Приём сообщений (push-уведомления)

WebSocket: ws://messenger.westeurope.cloudapp.azure.com/socket/messages?token={token}

Токен для аутентификации передаётся в queryString.

Библиотеки

Построение интерфейса

React (обязательно): https://reactjs.org/

Сборка фронтенда

Можно выбрать любой:

Другие

По согласованию с преподавателем.