LaTeX-documentation/tex/req.tex

148 lines
15 KiB
TeX
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

\newlist{subreg}{enumerate}{10}
\setlist[subreg, 1]{label=\textbf{FR-\arabic*.}}
\setlist[subreg, 2]{label*=\textbf{\arabic*.}}
\setlist[subreg, 3]{label=\arabic*.}
\begin{subreg}
\item \label{FR-1} \textbf{Аутентификация\\}
Сотрудник фонда должен иметь возможность авторизоваться в системе с логином/паролем, предварительно полученным после регистрации по почте. Процесс регистрации и получения логина/пароля описан в пункте \ref{enum:reg}. Если пользователь не зарегистрирован в системе или авторизуется с неверными данными, то система должна отобразить соответствующее сообщение.
При первоначальном авторизации в системе на новом устройстве пользователь должен увидеть диалоговое окно с возможностью принять или отклонить получение пуш-уведомлений (подробнее о пуш-уведомлениях в разделе \ref{push}).
\item \textbf{Настройки\\}
У пользователя должна быть возможность управлять личными данными в настройках системы.
\begin{subreg} \label{settings}
\item Должна быть возможность просмотра информации о своем профиле в настройках системы:
\begin{subreg}
\item ФИО, почта;
\item Дата рождения;
\item Город, страна, телефон;
\item Фотография;
\item Роль в системе (см. Приложение \ref{stuff});
\item Назначенные категории (только для пользователей с ролью <<Член комиссии>>);
\end{subreg}
\item Должна быть возможность изменения основной информации:
\begin{subreg}
\item ФИО;
\item Город, страна, телефон;
\item Фотография;
\item Дата рождения;
\end{subreg}
\item Должна быть возможность выбрать язык системы: русский или английский;
\item \label{enum:push} Должна быть возможность включить/отключить получение пуш-уведомлений;
\end{subreg}
\item \textbf{Пуш-уведомления\\} \label{push}
Сотрудники фонда должны иметь возможность получать пуш-уведомления, если такая настройка включена (см. пункт \ref{enum:push}).
\begin{subreg}
\item Должна быть возможность получения пуш-уведомлений на входящие сообщения в чатах поддержки (для пользователя с ролью <<Оператор>>, подробнее о чатах в пункте \ref{req:chats});
\item Должна быть возможность получения пуш-уведомлений при изменений статусов заявок, которые назначены на конкретного менеджера (для роли <<Менеджер>> и <<Член комиссии>>, подробнее в пункте \ref{req:status});
\item Должна быть возможность получения пуш-уведомлений при изменении статуса операции в системе блокчейн (подробнее в пункте \ref{req:blockchain});
\item Должна быть возможность просмотра списка уведомлений и информации о них:
\begin{subreg}
\item Дата и время уведомления;
\item Тип уведомления;
\item Инициатор уведомления;
\end{subreg}
\end{subreg}
\item \textbf{Статусы операций в системе блокчейн\\} \label{req:blockchain}
Сотрудники фонда должны иметь возможность просматривать изменения статусов операций в системе блокчейн, а именно: дата, время совершенной операции, тип операции, статус операций, дату, время обновления статуса.
\item \textbf{Управление пользователями\\}
Этот функционал должен быть доступен только для пользователя с ролью <<Администратор>> (кроме пункта \ref{enum:managers}).
\begin{subreg}
\label{admin}
\item \label{enum:admin_1} Должна быть возможность просмотра информации о пользователе: его ФИО, роль в системе, город, страна, фотография, статус в системе (заблокирован или нет), назначенные категории (только для пользователей с ролью <<Член комиссии>>);
\item Должна быть возможность изменить все поля из пункта \ref{enum:admin_1}, кроме почты;
\item \label{enum:reg} Должна быть возможность зарегистрировать пользователя в системе, указав:
\begin{subreg}
\item ФИО;
\item Почту;
\item Роль пользователя в системе (см. Приложение \ref{stuff});
\item Назначенные категории (только для пользователей с выбранной ролью <<Член комиссии>>);
\end{subreg}
После совершения процесса регистрации на указанную почту пользователю приходит логин/пароль для дальнейшей аутентификации в системе;
\item \label{enum:managers} Должна быть возможность просмотра информации о сотрудниках фонда для пользователя с ролью <<Член комиссии>>: ФИО, роль, город, страна, день рождения, телефон, назначенные категории (если есть), заявки назначенные на пользователя (если есит);
\end{subreg}
\item \textbf{Логи системы\\}
У пользователя с ролью <<Администратор>> должна быть возможность просматривать логи системы в формате JSON с обязательными полями: дата регистрации события, тип события и также описание события.
\item \textbf{Транзакции\\}
Этот функционал должен быть доступен только для пользователя с ролью <<Член комиссии>>.
\begin{subreg}
\item Должна быть возможность просматривать транзакции, совершенные внутри системы, информацию о них:
\begin{subreg}
\item Дата, время совершения транзакции;
\item Кто совершил транзакцию (ФИО донора);
\item Сумма транзакции;
\item На какую заявку транзакция была совершена - основная информация о заявке: название, автор, тип заявки;
\end{subreg}
\item Должна быть возможность провести ручную транзакцию -- вести данные о платеже, поступившем напрямую в фонд. При вводе транзакции должна быть возможность указать цель платежа: на одну из заявок фонда или на нужды фонда, а также ФИО пользователя от которого поступило пожертвование, сумму пожертвования;
\end{subreg}
\item \textbf{Категории\\}
Этот функционал должен быть доступен только для пользователя с ролью <<Член комиссии>>.
\begin{subreg}
\item Должна быть возможность просматривать категории фонда, доступные для назначения на заявки, а именно:
\begin{subreg}
\item ID - уникальный идентификатор категории;
\item Название категории на английском;
\item Название категории на русском языке;
\item Название категории на арабском;
\item Видимость категории - некоторые категории должны быть скрыты от пользователей при назначении категории на заявку;
\end{subreg}
\item Должна быть возможность изменить все данные о категориях;
\item Должна быть возможность удалить категорию. Для удаления доступны только те категории, которые не используются в системе (т.е не назначены на пользователей или на заявку);
\end{subreg}
\item \textbf{Заявки\\}
Эта функциональность должна быть доступна для пользователей с ролью <<Член комисии>> и <<Менеджер>>;
\begin{subreg}
\item \label{req:status} Должна быть возможность изменять статусы заявок в зависимости от роли пользователя и предыдущего статуса заявки в соответствии с диаграммой жизненного цикла заявки (см. Приложение \ref{status});
\item Должна быть возможность отредактировать данные о заявке (одобренная сумма, срок сбора средств), когда она находится в статусе <<В обработке>>;
\item Должна быть возможность создать заявку в системе от лица незарегистрированного пользователя. При создании заявки нужно указать: название, описание, сумма сбора, категория заявки, документы и дата сбора. Заявка сразу создается в статусе <<Активная>> от имени фонда. Эта функциональность должна быть доступна только для пользователей с ролью <<Член комиссии>>;
\item Должна быть возможность оставлять комментирии к заявке;
\item Должна быть возможность просматривать комментарии к заявке: текст сообщения, дату и автора;
\item Должна быть возможность менять менеджера, который назначен на обработку заявки;
\item Должна быть возможность закрыть сбор средств на заявку;
\item Должна быть возможность просмотреть информацию о голосовании по заявке в статусе <<Ждет подтверждения члена комиссии>>, а именно: кто имеет право проголосовать и их решение, а также статус голосования (в процессе, принято, отклонено);
\item У пользователей с ролью <<Член комиссии>> должна быть возможность проголосовать по заявке (за принятие или против), если категория заявки совпадает с назначенной на члена комиссии категорией;
\end{subreg}
\item \textbf{Чаты\\} \label{req:chats}
Данная функциональность должна быть доступна только пользователям с ролью <<Оператор>>;
\begin{subreg}
\item Должна быть возможность просматривать список чатов: ФИО собеседника, текст сообщения, количество непрочитанных сообщений;
\item Должна быть возможность написать сообщение;
\end{subreg}
\item \textbf{Управление контентом фонда\\}
Данная функциональность должна быть доступна только для пользователей с ролью <<Контент-менеджер>>;
\begin{subreg}
\item Должна быть возможность просмотривать м редактировать часто задаваемые вопросы в формате \texttt{markdown} \cite{md};
\item Должна быть возможность просмотривать, редактировать, удалять и создавать новости фонда. Для создания нужно указать название, описание новости и фотографию;
\item Должна быть возможность просмотра и редактирования информации о фонде: описания и загруженных документов;
\end{subreg}
\end{subreg}
\renewcommand{\labelenumi}{\arabic{enumi}.}
\renewcommand{\labelenumii}{\arabic{enumii}.}
\renewcommand{\labelenumiii}{\arabic{enumiii}.}