Skip to content

Latest commit

 

History

History
232 lines (194 loc) · 15.1 KB

check-list.md

File metadata and controls

232 lines (194 loc) · 15.1 KB

Страница авторизации

  • Отрисовка страницы
  • Вывод ошибки «неверный логин/пароль»
  • Вывод ошибки «нет соединения»
  • Успешная авторизация и подготовка визарда, либо переход в список переписок

Визард

  • Установка имени

    • Отрисовка страницы
    • Обработка пустых полей
    • Переход к следующему шагу
  • Установка пароля

    • Отрисовка страницы
    • Обработка ошибки «неверный пароль»
    • Обработка ошибки «пароли не совпадают»
    • Обработка ошибки «пароль не может быть пустым»
    • Обработка ошибки «недостаточная сложность пароля»
  • Установка ключа

    • Отрисовка страницы
    • Установка существующего ключа в качестве активного
    • Генерация нового ключа
    • Загрузка существующего ключа
  • Установка аватара

    • Выбор фото для аватара
    • Создание фото для аватара
    • Выравнивание аватара для обрезки
    • Загрузка аватара на сервер и связывание с пользователем

Шторка с меню

  • Отрисовка шторки
  • Переход в чаты
  • Переход к созданию новой группы
  • Переход в настройки
  • Переход в ключи
  • Выход

Настройки

  • Отрисовка страницы
  • Установка имени

    • Отрисовка страницы
    • Обработка пустых полей
  • Установка пароля

    • Отрисовка страницы
    • Обработка ошибки «неверный пароль»
    • Обработка ошибки «пароли не совпадают»
    • Обработка ошибки «пароль не может быть пустым»
    • Обработка ошибки «недостаточная сложность пароля»
  • Установка параметров

    • Отрисовка элементов управления
    • Работоспособность смены параметров

Управление ключами

  • Отрисовка страницы
  • Отображение активного ключа
  • Установка существующего ключа в качестве активного
  • Генерация нового ключа
  • Загрузка существующего ключа
  • Удаление ключа
  • Экспорт ключа
  • Переход в визард после удаления всех ключей

Список переписок

  • Вывод списка переписок
  • Сортировка списка чатов по времени последнего сообщения в переписке
  • Вывод времени последнего сообщения
  • Вывод количества непрочитанных сообщений
  • Вывод последнего сообщения кратко
  • Отрисовка аватаров
  • Поиск по списку переписок

    • При нажатии на кнопку поиска показать строку поиска
    • При вводе в строку поиска вывод результата поиска
    • Подсветка найденной подстроки в результатах поиска
    • Если ничего не найдено, то вывод сообщения «Ничего не найдено»
  • Фильтр отображения переписок

    • При выборе в фильтре любого значения, кроме «все» ограничивать соответственно вывод
    • Вывод в шапке значения фильтра
  • Отображение статуса контакта онлайн/офлайн
  • Отображение переписки с неавторизованным контактом
  • При клике на кнопку создать группу перейти к созданию группы

Работа с диалогом с одним контактом

  • Отображение в шапке Аватар + Имя/Фамилия
  • Отображение статуса контакта
  • Панель диалогов

    • Скрытие панели диалогов, если диалог один
    • Показать панель диалогов, если диалогов больше одного
    • Отображение количества непрочитанных сообщений в скрытых диалогах
    • Отображение количества скрытых диалогов
    • Вывод модально списка скрытых диалогов при нажатии на «еще»
    • При нажатии на название диалога показ меню действий с диалогом (переименовать/удалить(необязательно))
    • При нажатии на кнопку «переименовать» открыть экран переименования диалога
  • Переименование диалога

    • Обработка ввода пустого имени для диалога
    • Обработка корректного переименования диалога
  • Удаление диалога

    • Вывод модалки подтверждения удаления диалога
    • Обработка удаления диалога
    • При нажатии на кнопку «меню» выводить меню (Новый диалог/Звонок/Видеозвонок)
    • Переход на звонок
    • Переход на видеозвонок
    • Переход на экран создания диалога
  • Создание диалога

    • Обработка ввода пустого имени для нового диалога
    • Обработка создания нового диалога
  • Карточка контакта

    • При клике на имя контакта делать переход в карточку контакта
    • Отображение карточки контакта

Работа с группой

  • Создание группы

    • Первая страница создания группы

      • Отрисовка страницы
      • Обработка ввода пустого названия группы
      • Обработка задания аватара группы
      • Обработка успешного задания аватара/названия и переход ко второй странице
    • Вторая страница создания группы

      • Отрисовка страницы
      • Вывод контактов при поиске
      • Вывод выбранных контактов
      • Удаление контакта из списка выбранных
      • Вывод количества выбранных контактов
      • Обработка создания группы с выбранными параметрами
  • Карточка группы

    • Отрисовка карточки группы
    • Редактирование названия группы в карточке (не реализовано)
    • Удаление участника из группы (не реализовано)
    • Добавление участника в группу (не реализовано)

Особые случаи с диалогом в группе

  • Отображение в шапке Аватар + Название группы
  • Вывод сообщений с имя/фамилия
  • Карточка группы
    • При клике на имя группы переход в карточку группы
    • Отображение карточки группы

Вывод сообщений

  • Вывод временных меток
  • Полученные

    • Вывод текстового сообщения
    • Вывод даты сообщения
    • Вывод удаленного сообщения
    • Вывод отредактированного сообщения
    • Вывод сообщения с файлом/файлами
    • Вывод сообщения с аудиозаметкой
    • Вывод сообщения о пропущенном звонке
    • Вывод сообщения о завершенном звонке
    • Подсветка непрочитанных сообщений
  • Отправленные

    • Вывод текстового сообщения
    • Вывод даты сообщения
    • Вывод удаленного сообщения
    • Вывод отредактированного сообщения
    • Вывод сообщения с файлом/файлами
    • Вывод сообщения с аудиозаметкой
    • Вывод сообщения о неотвеченном звонке
    • Вывод сообщения о завершенном звонке
    • Вывод метки об успешной отправке сообщения
    • Вывод метки о доставке сообщения
    • Вывод метки о прочтении сообщения
  • Сервисные

    • Вывод анонимного сервисного сообщения
    • Вывод отправленного сервисного сообщения
    • Вывод полученного сообщения

Создание сообщения

  • Корректная работа ввода текста
  • Работа с емоджи
  • Прикрепление файлов к сообщению
  • Создание аудиозаметки
  • Запрет на отправку сообщения до окончания шифрования и прикрепления файлов
  • Корректная отправка сообщения
  • При долгом нажатии на своё сообщение показывать выбор действия (копировать/удалить/редактировать)

Редактирование сообщения

  • Подсветка редактируемого сообщения
  • Редактирование в основном поле ввода
  • Запрет на изменение вложений
  • Корректное удаление сообщений

Работа с настройками, полученными с сервера

  • key_management_by_user === false

    • Скрыть элементы интерфейса для создания ключей
    • Запрет на создание ключей
  • contactlist_management_by_user === false

    • Скрыть кнопку включения глобального поиска
    • Скрыть кнопку отмены авторизации пользователя
    • Скрыть кнопку удаления пользователя из списка контактов
    • Не выводить сообщения управления авторизацией

Управление списком контактов

  • Контакт без подтвержденной с авторизации

    • Показывать контакт в списке переписок
    • У контакта везде показан только никнейм
    • В сообщениях от этого контакта показан только никнейм
    • При нажатии на никнейм неавторизованного сообщения показывать модалку (Отправить пользователю %никнейм% запрос на добавление в ваш список контактов?)
  • Статусы авторизации

    • Контакт запросил у вас авторизацию

      • При входе в диалоги показывать в шапке сообщение со статусом авторизации(Пользователь хочет добавиьт вас в свой список контактов) и кнопками (подтвердить авторизацию/отклонить/удалить из контактов)
    • Вы или контакт разорвал авторизацию

      • При входе в диалоги показывать в шапке сообщение со статусом авторизации(Авторизация отменена) и кнопками (запросить авторизацию /удалить из контактов)
    • Вы запросили авторизацию

      • При входе в диалоги показывать в шапке сообщение со статусом авторизации(Пользователю отправлен запрос на авторизацию) и кнопками (Отправить повторно /удалить из контактов)

Поиск

  • При неудачном поиске в вашем списке переписок, показывать кнопку включения глобального поиска.
  • Выводить результаты глобального поиска
  • Каждый результат глобального поиска имеет никнейм найденного пользователя и кнопку «Добавить»
  • После нажатия кнопки «добавить» идет получение необходимой информации о пользователе и добавление в список контактов. Далее открывается экран диалогов с этим пользователем