Макет и сценарий использования - moevm/nosql2h24-dogs GitHub Wiki

image

Use Case: Вход в систему (Sign In) (с переходом на регистрацию)

Действующее лицо: Пользователь

Основной сценарий:

  1. Пользователь находится на экране Sign In Screen.
  2. Вводит имя пользователя и пароль.
  3. Нажимает кнопку "Sign In".
  4. Приложение проверяет правильность введенных данных.
  5. В случае успешного входа пользователь перенаправляется на главный экран (Main Screen или Admin Main Screen в зависимости от статуса пользователя).

Альтернативный сценарий:

  • Если имя пользователя или пароль неверные, приложение выводит сообщение об ошибке и предлагает повторить попытку.
  • Если у пользователя еще нет аккаунта, он нажимает ссылку "Sign Up" на экране входа, после чего перенаправляется на экран Sign Up Screen.

Use Case: Регистрация нового пользователя (Sign Up) (с переходом на вход)

Действующее лицо: Новый пользователь

Основной сценарий:

  1. Пользователь находится на экране Sign Up Screen.
  2. Вводит имя, пароль и подтверждение пароля.
  3. Нажимает кнопку "Sign Up".
  4. Приложение проверяет корректность введенных данных (например, совпадение паролей).
  5. В случае успешной регистрации пользователь перенаправляется на Main Screen.

Альтернативный сценарий:

  • Если данные некорректны (например, пароли не совпадают), приложение выводит сообщение об ошибке.
  • Если у пользователя уже есть аккаунт, он нажимает ссылку "Sign In" на экране регистрации, после чего перенаправляется на экран входа.

Use Case: Поиск и фильтрация (Search and Filtering)

Действующее лицо: Пользователь

Основной сценарий:

  1. Пользователь находится на главном экране (Main Screen или Admin Main Screen).
  2. Пользователь вводит запрос в строку поиска и/или применяет фильтры.
  3. Пользователь нажимает на кнопку поиск или её аналог клавиатуре (enter).
  4. Приложение отображает карточки животных, которые соответствуют запросу и фильтрам.

Use Case: Просмотр карточки животного (View Breed Card)

Действующее лицо: Пользователь

Основной сценарий:

  1. Пользователь находится на главном экране (Main Screen или Admin Main Screen).
  2. Нажимает на карточку конкретной породы.
  3. Приложение отображает переходит на экран Breed Card c подробной информацией о породе, полезными ссылками, комментариями других пользлователей.

Use Case: Комментарии (Comments)

Действующее лицо: Пользователь

Основной сценарий1:

  1. Пользователь находится на Breed Card.
  2. Вводит комментарий в специальное поле.
  3. Приложение сохраняет комментарий и отображает его на странице.
  4. У пользователя, который оставил комментарий, в профиле появляется информация об этом в секции последние оставленные комментарии.

Основной сценарий2:

  1. Пользователь находится на Breed Card.
  2. Нажимает на комментарий другого пользователя для ответа.
  3. Вводит комментарий в специальное поле.
  4. Приложение сохраняет комментарий и отображает его на странице.
  5. Пользователю, на чей комменатрий ответили, приходит уведомление.
  6. У пользователя, который оставил комментарий, в профиле появляется информация об этом в секции последние оставленные комментарии.

Use Case: Лайки (Likes)

Действующее лицо: Пользователь

Основной сценарий:

  1. Пользователь находится на Breed Card в секции с комментариями.
  2. Нажимает кнопку лайка комментария.
  3. Приложение регистрирует лайк и обновляет счетчик лайков комменатрия.
  4. Пользователю, которому поставили лайк, приходит уведомление.
  5. У пользователя, который поставил лайк, в профиле появляется информация об этом в секции последние поставленные лайки.

Альтернативный сценарий:

  • Если пользователь хочет убрать лайк, он повторно нажимает на иконку лайка. Уведомление, присланное до этого автору лайкнутого комментария, удаляется, информация о поставленном лайке в профиле лайкнувшего пользователя удаляется.

Use Case: Переход в профиль пользователя (View Profile)

Действующее лицо: Пользователь

Основной сценарий:

  1. Пользователь кликает на иконку профиля на главной странице (Main Screen или Admin Main Screen).
  2. Приложение переходит на Profile Page или Admin Profile Page.

Use Case: Редактирование профиля (Edit Profile)

Действующее лицо: Пользователь

Основной сценарий:

  1. Пользователь находится на странице профиля (Profile Page или Admin Profile Page).
  2. Нажимает кнопку "Edit Profile" (шестерёнка).
  3. Редактирует свои данные (возраст, имя, изображение профиля, любимые породы).
  4. Нажимает кнопку "Save".
  5. Приложение сохраняет изменения и обновляет информацию в профиле.
  6. Приложение перехождит на страницу профиля (Profile Page или Admin Profile Page).

Альтернативный сценарий:

  • Если пользователь ввёл некорректные данные, приложение выводит сообщение об ошибке.

Use Case: Просмотр статистики (View Profile Stats)

Действующее лицо: Пользователь

Основной сценарий:

  1. Пользователь находится на странице профиля (Profile Page или Admin Profile Page).
  2. Нажимает на иконку статистики.
  3. Приложение отображает страницу Profile Stats с графиками и статистикой из выпадающего списка (например, самые популярные породы по просмотрам для пользователя, самые залайканные породы) с примененными фильтрами и для выбранного подмножества данных.

Use Case: Выход из системы (Log Out)

Действующее лицо: Пользователь

Основной сценарий:

  1. Пользователь находится на странице профиля (Profile Page или Admin Profile Page).
  2. Нажимает кнопку "Log Out".
  3. Приложение завершает сессию и перенаправляет пользователя на экран входа (Sign In Screen).

Use Case: Получение уведомления и переходит на страницу породы (Receive Notification and View Breed Card)

Действующее лицо: Пользователь

Основной сценарий:

  1. Пользователь получает уведомление о событии.
  2. Кликает на уведомление.
  3. Приложение переходит на Breed Card, в котором произошло событие.

Use Case: Просмотр своей истории активности на странице (User Activity)

Действующее лицо: Пользователь

Основной сценарий1:

  1. Пользователь находится на странице профиля (Profile Page или Admin Profile Page).
  2. Нажимает на элемент секции последних комментариев пользователя.
  3. Приложение переходит на Breed Card, в котором пользователь оставил комментарий.

Основной сценарий2:

  1. Пользователь находится на странице профиля (Profile Page или Admin Profile Page).
  2. Нажимает на элемент секции последних лайков пользователя.
  3. Приложение переходит на Breed Card, в котором пользователь поставил лайк.

Use Case: Управление избранными (Favorites Management)

Действующее лицо: Пользователь

Основной сценарий 1:

  1. Пользователь находится на Breed Card.
  2. Нажимает кнопку "Add to Favorites", и порода добавляется в избранное.

Основной сценарий 2:

  1. Пользователь находится на Profile Page или Admin Profile Page.
  2. Пользователь нажимает на карточку одного из любимых животных.
  3. Пользователь попадает на Breed Card

Альтернативный сценарий:

  • На Breed Card пользователь может повторно нажать на кнопку "Add to Favorites", и животное удалится из любимых.
  • В режиме редактирования профиля пользователь может удалить породы из избранного на Edit Profile.

Use Case: Экспорт данных (Data Export)

Действующее лицо: Администратор

Основной сценарий:

  1. Администратор находится на Admin Main Screen.
  2. Нажимает кнопку "Export Data".
  3. Приложение генерирует файл и предлагает сохранить его на устройство администратора.

Альтернативный сценарий:

  • Если возникла ошибка при генерации файла, приложение выводит сообщение об ошибке и предлагает повторить экспорт.

Use Case: Импорт данных (Data Import)

Действующее лицо: Администратор

Основной сценарий:

  1. Администратор находится на Admin Main Screen.
  2. Нажимает кнопку "Import Data".
  3. Приложение предлагает выбрать файл на устройстве.
  4. Администратор выбирает файл и подтверждает импорт.
  5. Приложение проверяет данные на корректность и обновляет базу данных.

Альтернативный сценарий:

  • Если файл некорректен, приложение выводит сообщение об ошибке и предлагает выбрать правильный файл.

Use Case: Возврат из профиля (Return from Profile)

Действующее лицо: Пользоваьтель

  1. Пользователь находится на странице профиля (Profile Page или Admin Profile Page).
  2. Нажимает стрелку "Назад".
  3. Приложение перехожит на страницу Main Screen или Admin Main Screen.

Use Case: Возврат из карточки животного (Return from Breed Card)

Действующее лицо: Пользоваьтель

  1. Пользователь находится на странице Breed Card.
  2. Нажимает стрелку "Назад".
  3. Приложение перехожит на страницу Main Screen или Admin Main Screen.

Use Case: Возврат из статистики (Return from Stats)

Действующее лицо: Пользоваьтель

  1. Пользователь находится на странице Profile Stats.
  2. Нажимает стрелку "Назад".
  3. Приложение перехожит на страницу Profile Page или Admin Profile Page.