Оглавление
1. Введение.......................................................................................................................................... 3
1.1. Назначение системы ........................................................................................................................ 3
1.2. Цели технического задания ......................................................................................................... 3
1.3. Глоссарий .............................................................................................................................................. 3
2. Требования к системе ............................................................................................................... 4
2.1. Нефункциональные требования................................................................................................ 4
2.1.1. Требования к Системе в целом ................................................................................................................ 4
2.1.2. Требования к производительности ...................................................................................................... 5
2.1.3. Технологические требования к системе ............................................................................................ 5
2.1.4. Целевые устройства....................................................................................................................................... 5
2.1.5. Требования к резервному копированию данных Системы ..................................................... 6
2.1.6. Требования к защите информации от несанкционированного доступа ......................... 6
2.1.7. Требования к патентной чистоте........................................................................................................... 6
2.2. Функциональные требования ..................................................................................................... 6
2.2.1 Блок моделей данных ................................................................................................................................. 14
2.2.2 Блок Интеграций ........................................................................................................................................... 23
2.2.3 Блок бизнес логики ...................................................................................................................................... 25
2.2.4 Блок интерфейсов ......................................................................................................................................... 54
2.2.5 Блок транзакции ............................................................................................................................................ 83
2.2.6 Блок оповещения........................................................................................................................................... 83
2.2.7 Блок выбора исполнителей ..................................................................................................................... 83
3. Прочие требования ..................................................................................................................84
3.1. Порядок контроля и приемки Системы ................................................................................84
3.2. Гарантийные обязательства ......................................................................................................84
3.3. Техническая поддержка Системы ...........................................................................................84
2
1. Введение
Проект «Project-С» представляет собой IT платформу для реализации благотворительных
проектов, где этапы подготовки, финансирования и реализации являются полностью про-
зрачными для всех участников. IT платформа состоит из мобильного приложения и web-
интерфейса (административная панель).
1.3. Глоссарий
Термин/сокращение Определение
П Пользователи
М Модераторы
И Исполнители
А Администраторы
БД База Данных
3
2. Требования к системе
2.1. Нефункциональные требования /Non-functional requirements/
2.1.1. Требования к Системе в целом
Разрабатываемая Система должна учитывать следующие основные принципы:
- Открытость
Система должна использовать общедоступные и специфицированные решения, протоколы и
интерфейсы, что будет обеспечивать интеграцию создаваемых решений, как между собой,
так и с внешними информационными системами.
- Модульность
Система должна быть построена с использованием модульной архитектуры, подразумеваю-
щей реализацию основных функций в качестве отдельных модулей, обеспечивающих воз-
можность их независимой модификации. Сбой в работе одного из модулей не должен приво-
дить к полному прекращению функционирования Системы в целом.
- Масштабируемость
Архитектура Системы должна позволять увеличивать производительность подсистем, объ-
емы хранимой и обрабатываемой информации без длительной остановки работы и значи-
тельной модификации программного кода Системы.
- Управляемость и конфигурирование
Механизмы управления должны обеспечивать управление создаваемой Системой на всех
уровнях ее архитектуры: на уровне инфраструктуры, на функциональном уровне, на уровне
представления данных.
- Системность
Все взаимосвязанные подсистемы создаваемой Системы должны использовать единую мето-
дологию и отвечать единым принципам взаимодействия, надежности и управления.
- Персонализация
Предоставление информации пользователям должно осуществляться с учетом персональных
настроек пользователей.
- Единство графического представления
При проектировании и разработке пользовательских интерфейсов должны использоваться
общие принципы графического представления информации и организации доступа пользо-
вателей к функциональным возможностям и сервисам создаваемой Системы.
Разрабатываемая Система структурно должна состоять из следующих блоков:
- веб-интерфейс Администрирование;
- мобильное приложение (для операционных систем iOs и Android).
Доступ к инструментам и функциям Системы должен осуществляться из обоих блоков, набор
доступных операций и данных для каждого блока свой: веб-интерфейс должен позволять осу-
ществлять работу со всеми функциями и данными Системы через веб-браузер; мобильное
приложение должно осуществлять доступ к функциям и данным Системе, адаптированным
для использования на мобильных устройствах.
4
2.1.2. Требования к производительности
В рамках работ должна быть обеспечена производительность Системы для следующих пара-
метров:
- количество регионов (областей) функционирования системы - 15;
- количество пользователей мобильным приложением на регион (область) – 100 000;
- количество пользователей веб-интерфейсом на регион (область) – 100;
- количество пользователей с правами администратора – 15;
- режим эксплуатации Системы – 24 часа х 7 семь дней в неделю;
- коэффициент готовности – 98% в год. Суммарное время нахождения Системы в сер-
висном режиме не более 8 часов в месяц;
- Система должен обеспечивать одновременную бесперебойную работу с временем от-
клика не более 3 секунд для одновременно работающих 20 000 пользователей на область (ре-
гион)
На данном этапе, у нас нет методики расчета необходимых ресурсов для практически пока не
существующей системы, поэтому мы исходим от нашего предыдущего опыта. Мы считаем,
что данная конфигурация будет достаточна для поддержки нескольких сот тысяч клиентов
при одновременном подключении нескольких десятков тысяч. Самая узкая часть — это база
данных. Его ресурсы сильно зависят от того, насколько интенсивными будут запросы от
пользователей. Например, пользователь откроет статью и будет читать его (в этом случае
нагрузка на базу данных минимальна) или будет проводить частые поисковые запросы
(большая нагрузка). На данном этапе не имеем возможности проводить более детальный ана-
лиз. Будем проводить тесты и корректировать эти данные в течении разработки системы
5
2. Пользовательский интерфейс – Мобильное приложение совместимое с
a. Android 5.0 и выше
b. iOS 10 и выше
3. Веб приложение совместимо с экранами для десктопа компьютеров, ноутбуков (раз-
меры экрана от 15 дюймов и выше).
4. Мобильное приложение должно быть совместимо с различными размерами экранов
мобильных телефонов
6
форме реквизитами своей карты и ставит галочку "Запомнить данные этой
карты"
2. Если для данного Пользователя существуют одна или несколько привязанных
карт, то они отображаются в выпадающем списке в поле для ввода PAN. Пользо-
ватель выбирает нужную карту (также есть возможность внести реквизиты но-
вой карты). Затем Пользователь выбирает нужную карту
3.4. Затем Сервис отправляет данные на сервер платежного шлюза
3.5. Далее происходит проверка на мошенничество со стороны банка при помощи набора ав-
томатических правил. Результатом применения правила является добавление к заказу
коэффициента вероятности мошенничества (фрод-веса). Каждое правило имеет свой
фрод-вес, который представляет собой число в (диапазоне от 0 до 100):
1. Если суммарный фрод-вес заказа по всем применённым к заказу правилам пре-
вышает 100, то такой заказ считается фродовым и оплата по нему будет откло-
нена
2. Если суммарный фрод-вес заказа по всем примененным к заказу правилам не
превышает 100, оплата по такому заказу будет принята
3.6. Каждый раз, после осуществления пожертвования Пользователем на проект, Система
проверяет разницу между «Требуемой суммой сбора» и суммой, уже сделанных взносов
по этому проекту. Если разница равна нулю, тогда считается, что такой проект собрал все
средства и проект меняет статус на «Идет исполнение» (см. таблицу статусов проекта)
3.7. После того как проект собрал требуемые средства, Система инициирует списание денеж-
ных средств с карточек Пользователей, которые осуществили пожертвование на данный
проект (Платёжный шлюз производит оплату)
3.8. Каждое воскресенье в 22:00ч, Сервис инициирует возврат средств Пользователям по про-
ектам, которые не собрали требуемую сумму (для проектов в статусе «Идет сбор
средств»):
1. Для проектов, у которых «Требуемая сумма сбора» равна сумме уже сделанных
взносов, Сервис проверяет транзакции с блокировкой и снимает деньги со счета
Пользователя;
2. Для проектов, у которых «Требуемая сумма сбора» превышает сумму уже сделан-
ных взносов, Сервис отправляет запрос на шлюз оплаты о возврате перевода от-
правляя сумму и orderid транзакции, если перевод был сделан, а если сумма была
заблокирована на счете Пользователя, то отменяет блокировку.
3.9. Когда по итогам проекта остался излишек средств (излишек рассчитывается по формуле:
[собранная сумма с пожертвований] - [сумма фактически потраченная на проект]), адми-
нистратор вручную инициирует возврат излишка собранных средств. Администратор
нажимает кнопку в карточке проекта – «Вернуть средства пользователям». Пожертвован-
ные средства автоматически возвращаются Пользователям по алгоритму LIFO (Послед-
ний пожертвовавший первым получает возврат).
3.10. Пользователь не может получить возврат больше чем он фактически пожертвовал.
3.11. Программа проверяет успешность возврата. Если сумма возвращенных средств рав-
няется сумме избытка средств, то кнопка «Возврат средств» блокируется для админи-
стратора.
7
когда голосование заканчивается, прочитывает голоса проектов в каждом регионе и вы-
бирает соответствующее количество проектов по следующей логике Проекты собравшие
наибольшее количество голосов, если два проекта имеют: одинаковое количество голо-
сов, то предпочтение даётся проекту с критичностью, если в этом плане они тоже равны,
то даётся предпочтение проекту добавленную первым. После выбора проектов, модера-
торам отправляется оповещение о том, что их проекты выбраны для сбора средств и ста-
тус этих проектов меняется на идет сбор средств.
4.3. Проект собрал деньги Сервис рассчитывает текущую сумму сбора суммируя сумму тран-
закций со статусом «Удачный» (эта сума показывается в карточке проекта) во время
сбора средств и, если проект собрал необходимую сумму(текущая сумма сбора равняется
требуемой сумме сбора), статус проекта меняется на «Идёт исполнение» /execution /и
Модератору проекта, а также пользователям, которые сделали взнос на этот проект от-
правляет оповещение о том, что Проект собрал необходимую сумму (в соответствии с
условиями, прописанными в решении по Push-уведомлениям). Возможность внести по-
жертвования на проекты, для которых текущая сумма сбора равняется требуемой сумме
сбора отсутствует.
4.4. Проект не собрал денег: После окончания сбора средств, сервис рассчитывает сумму
сбора суммируя сумму транзакций со статусом «Удачный» для проектов со статусом идет
сбор средств, и, если сумма собрана см. 4.3, если не собрана Модератору проекта, пользо-
вателям, которые сделали взнос на этот проект запускается механизм возврата средств
и отправляет оповещение о том, что Проект не собрал необходимую сумму (если они не
отключили это уведомление), и меняет статус проекта на «Новый» и увеличивает значе-
ние в поле «Не собрано средств раз» в карточке проекта на 1.
4.5. Каждый день Сервис сканирует проекты и для проектов, для которых до «Актуальный
срок проекта по» осталось меньше 2 недель, происходит перевод в статус «Требует уточ-
нения актуальности». Модератору этого проекта отправляется оповещение о том, что
проект становится не актуальным, модератор может зайти, и поменять «Актуальный
срок проекта по», чтобы проект стал актуальным, после чего статус проекта меняется на
«Новый» и может участвовать в голосовании.
Проекты в статусе «Требует уточнения актуальности» не участвуют в голосовании.
4.6. Критичность
4.7. В течение периода пожертвований, сервис проверяет наличие проектов с признаком
«Критичности» в определенное время, которое берется из настроек, и всем пользовате-
лям, которые ещё не осуществили пожертвования на текущей неделе, отправляется опо-
вещение, в случае если: [Остаток требуемой суммы] < [Количество пожертвований за про-
шлую неделю]/[Количество пользователей за прошлую неделю]*[Шаг пожертвова-
ния]*[Текущее количество пользователей] – [Собранное количество денег за неделю]
4.8. Волонтёрам в начале недели сервис отправляет Push уведомление о том, что если они
хотят, чтобы система по возможности добавляла их в роли исполнителей в проект в со-
ответствии с их пожеланиями, то необходимо установить признак «Стать волонтёром» в
карточке проекта. Признак может быть установлен во всех проектах в рамках одного ре-
гиона, но не может быть установлен на проекты в двух разных регионах.
4.9. Ежегодно 25 декабря направляются email всем Пользователям приложения с таблицами
проектов, которые были выполнены с участием Пользователя за год (если таковые суще-
ствуют) с указанием разбивки по ролям (в формате грамоты-поощрения): with an
indication of the breakdown by roles (in the format of letters of encouragement)
4.9.1.Спасибо вам за пожертвования: (далее таблица проектов, на которые Пользова-
тель осуществлял пожертвования и одновременно которые были выполнены);
4.9.2.Спасибо вам, нашей команде волонтеров удалось помочь нуждающимся: (далее
таблица проектов, зарегистрированных данным Модератором и которые были
выполнены, если таковые существуют);
8
4.9.3.Спасибо, благодаря вам мы помогли этим людям и животным: (далее таблица
проектов, в которых Куратор или Волонтер был вовлечен, если таковые суще-
ствуют).
6. Сервис Голосование
Обеспечивает процесс голосования модераторов за проекты по расписанию.
9
• Общие принципы голосования: Модератор не может голосовать за проекты где он
является автором. «Один проект – один голос модератора» - модератор может от-
дать только один голос за один проект, Все голоса равнозначны при определении
победителя
• Через указанную в параметрах системы длительность дней («длительность голо-
сования») сервис» прекращает голосование, производит определение итогов голо-
сования
По каждой из четырех категорий
10
9. Сервис Изменение статусов (тех, что изменяются автоматически)
см. Сервис Оповещения 4.2-4.4
13.1.2. Авторизация
Вносит эл. адрес и пароль, если зарегистрирован, то входит в приложение. Если
Пользователь неправильно подбирает Логин, тогда выводится информация:
«Пользователь отсутствует». Если Пользователь вводит неправильный пароль,
тогда выводится информация: «Неправильный пароль» и появляется кнопка
«Вспомнить пароль»
13.2. Веб:
13.2.1. Регистрация:
Регистрация в веб запрещена. Доступ в админ-панель предоставляется Тех. ад-
министратору, Администратору, Модератору, Куратору. Логин и пароль для
входа в админ панель соответствуют логину и паролю для входа в мобильное
приложение, указанное Пользователем при регистрации
11
13.2.2. Авторизация:
Если Пользователь зарегистрирован в мобильном приложении и с админ. па-
нели ему присвоили роль Администратора, Модератора или Куратора, то он мо-
жет войти в Админ панель по той же логике, как и в мобильном приложении:
набрав почту и пароль заходит в админ панель.
14. Сервис назначения ролей
По умолчанию все зарегистрированные в приложении пользователи работают под ролью
«Пользователь»;
Доступ на назначение роли «Администратор» есть только у пользователя с правами
«Тех.администратор»);
Назначение ролей «Модератор» и «Куратор» доступно только Пользователю с правами
«Администратор»;
Назначение роли «Волонтёр» возможно двумя способами:
1. Пользователь с правами «Администратор» назначил роль «Волонтёр»;
2. Пользователь с правами «Куратор» при проверке анкеты Пользователя на волон-
тёрство установил статус «Волонтёр». В таком случае система автоматически
назначает пользователю роль «Волонтёр».
«Администратор» любой момент может менять статус пользователя из «Волонтёр» на «не мо-
жет быть волонтером» (автоматически снимается роль «Волонтёр») и обратно из «не может
быть волонтером» на «Волонтёр» (автоматически назначает роль «Волонтёр»).
Роли Пользователей
Описание всех ролей, осуществляющих активности в админ панели и приложении приведено
в таблице 2.
12
# Роли Функционал
● Получение уведомление на почту с контактными данными всей
команды, включая Авторов, Модераторов и Куратора проекта
4 Администраторы ● Назначение новых модераторов
(А) ● Назначение новых Кураторов, Волонтеров для проектов
● Отслеживание распределения средств
● Инициация возврата средств
● Ручное изменение ролей
5 Тех.Админ (ТА) ● Может изменять настройки в админ панели
● Устанавливает/изменяет роль Администратор
● Ведение справочников
● Может изменять любые данные в системе (как Суперпользова-
тель) без каких-либо ограничений, распространяющихся на
других Пользователей / объекты
13
2.2.1 Блок моделей данных
Пользователь
Пользователем является лицо, зарегистрированное в приложении. Реквизиты формы «Поль-
зователь» представлены в таблице 3.
Таблица 3. Реквизиты формы «Пользователь»
14
Поле Значение Описание
Страница ВК** Текстовое поле Линк веб страницы профиля пользова-
теля в соцсетях
Таланты** Текстовое поле
Файлы Файлы прикрепляемые к анкете заявки
на волонтёрство
Статус* 1- не Поле доступное для изменения Куратору,
проверен, Администратору
2- волонтер
3- не может
быть
волонтером,
Предпочтительные Целые числа, IDs
категории категорий из
проектов** списка категорий
Роль 1. Куратор Если никакая роль не назначена, тогда
2. Волонтер считается роль «Пользователь»
3. Модератор Допускается множественное назначение
4. Администратор ролей
5. Тех.администра-
тор
Тех. регион* Целое число, ID Ре- Регион, проекты которого Пользователь
гион из списка Ре- видит в мобильном приложении.
гион Заполняется автоматически, после запол-
нения пользователя города. Для выбора в
приложении Пользователям доступны
только технические регионы, для кото-
рых установлен признак «Активный» (см.
решение по городам)
* обязательное поле, ** обязательное поле только для исполнителей
Проект
В системе регистрируются благотворительные проекты. Реквизиты формы «Проект» пред-
ставлены в таблице 4. Проекты могут создавать только Модераторы и проекты могут редак-
тировать только модераторы / автор указанные в карточке проекта. Проект нельзя редакти-
ровать во время голосования, во время сбора средства (Статус проекта «Идёт сбор средств»).
В момент исполнения проекта доступны для изменения только те поля, которые относятся к
части реализации.
Таблица 4. Реквизиты формы «Проект»
15
Поле Значение Описание
Наименование ка- Текстовое поле из
тегории*** списка категорий
16
Поле Значение Описание
Автор проекта *** Целое число, ID Заполняется автоматически – указыва-
пользователя из ется Пользователь, создавший проект.
списка пользовате- Не доступно для редактирования.
лей в роле Модера-
тора
Модератор** Целое число, ID Пользователь, назначается автором. по
пользователя из умолчанию сам автор.
списка пользовате-
лей в роле Модера- Есть возможность указать несколько мо-
тора дераторов.
Требуемая сумма Десятичное число Сумма, необходимая для исполнения
сбора** проекта
Прикреплённые Файлы форматов:
файлы “pdf”,”jpeg”,”jpg”,”pn
g”
Смета ** Целые числа, IDs Строки из списка сметы, каждая строка
сметы из списка соответствует одной записи в списке
сметы смет
Критичность ** 1 - не критично См. Сервис Оповещения 4.6
2 – критичен
Не собрано средств Целое число Сколько раз проект был выбран на сбор
раз *** средств, но не собрал необходимую
сумму.
Заполняется автоматически.
Недоступно для редактирования в лю-
бой момент времени.
Статус* (см. Таблицу 1-Черновик “Идёт сбор средств”- когда статус =2, и
статусов проекта) 2-Новый проект выбран для сбора средств и идет
3-Деактивирован сбор средств.
4-Выполнен “Идёт исполнения”- когда статус =2, и
5-Ожидает под- проект был выбран для сбора средств и
тверждения моде- собрал необходимую суму.
ратора
7-Не выполнен.
Ожидает подтвер-
ждения модератора
8 - Не выполнен
Выполнен
Динамические ста-
тусы
1 - Идёт сбор
средств
2 - Идёт исполнение
При деактивации проекта
Причина Текстовое поле Принимает значение во время деактива-
деактивации ции: когда Модератор обязательно за-
полняет причину деактивации.
При переводе проекта в статус «Идёт исполнение»
17
Поле Значение Описание
Волонтёры*** Целые числа, ID Пользователи, которые будут исполнять
пользователей из проект: выбирается системой автомати-
списка пользовате- чески ( ) и может быть дополнен Курато-
лей в роле Исполни- ром проекта в соответствии с настрой-
теля ками системы.
Категория
Все благотворительные проекты могут быть четырех категорий. Список реквизитов катего-
рий проектов представлены в таблице 5.
У пользователя с правами Технический Администратор должна быть возможность изменять
название категорий, добавлять новые категории, деактивировать категории.
18
Таблица 5. Реквизиты категорий проекта
Технический регион
Все активности пользователей привязаны к техническим регионам – Пользователям видны
проекты, которые находятся в конкретном регионе, Волонтеры подбираются системой для
участия в проекте с учетом региона их нахождения. Перечень реквизитов формы «Техниче-
ский Регион» представлен в таблице 6.
Таблица 6. Реквизиты формы «Технический регион»
Город
Регионы состоят из уникального (не дублирующего) перечня городов. Перечень реквизитов
формы «Город» представлены в таблице 7.
19
Города в системе появляются по мере регистрации Пользователей, когда они выбирают свое
местоположение: если город уже есть в системе, то Пользователь прикрепляется к этому го-
роду если нет, то добавляется новый город и Пользователь прикрепляется к этому городу. Та
же самая логика работает при добавлении адреса проекта.
Таблица 7. Реквизиты формы «Город»
Смета
На каждый благотворительный проект, зарегистрированный в системе, требуется собрать
определенную денежную сумму. Составляющие этой суммы указываются в Смете к данному
проекту. Реквизиты формы «Смета» представлены в таблице 8.
Таблица 8. Реквизиты формы «Смета»
Голос Проекта
Для публикации конкретного проекта в приложении, проект должен собрать наибольшее ко-
личество голосов Модераторов по своей категории. Реквизиты формы «Голос проекта» пред-
ставлены в таблице 9.
Таблица 9. Реквизиты формы «Голос проекта»
20
Поле Значение Описание
Пользователь Целое число, ID Пользователь с ролю Модератор отдав-
пользователя из ший голос за конкретный проект
списка пользовате-
лей
Проект Целое число, ID
проектов из списка
проектов
Время Текстовое поле, Дата и время, когда Модератор проголо-
формат дата совал за проект
Голосование Целое число, ID го-
лосования из
списка Голосова-
ний
Транзакция
При пожертвовании пользователей в системе возникает уникальная транзакция. Реквизиты
формы «Транзакция» представлены в таблице 10.
Таблица 10. Реквизиты формы «Транзакция»
21
Поле Значение Описание
4- Пароль не может быть пуст
5- Неверная сумма
5- Неправильный параметр 'Язык
5- Логин продавца неверен
5- Доступ запрещён
5- Пользователь должен сменить
свой пароль
5- Доступ запрещён
5- [jsonParams] неверен
7- Системная ошибка
13- Использование обоих значений
Features FORCE_TDS/FORCE_SSL и
AUTO_PAYMENT недопустимо
13- Мерчант не имеет привилегии вы-
полнять AUTO платежи
13- Мерчант не имеет привилегии вы-
полнять проверочные платежи
14- Features указаны некорректно
Настройки
Для налаживания работы системы предусмотрены настройки основных параметров. Рекви-
зиты формы «Настройки системы» представлены в таблице 11.
Таблица 11. Форма «Настройки Системы»
Голосование
Таблица для ведения голосования. Реквизиты формы «Голосование» представлены в таблице
12.
Таблица 12. Реквизиты формы «Голосование»
Модераторы голосования
Модераторы имеющие права участвовать в голосование. Реквизиты формы «Модераторы го-
лосования» представлены в таблице 13.
22
Таблица 13. Реквизиты формы «Модераторы голосования»
23
Платеж:
Put: Осуществить пожертвование (запись в Транзакции и платеж через API alfa bank )
Put: Отправляется запрос на платёжный шлюзу для регистрации заказа ID пользователя, ID
Транзакции и сума взноса с помощью api банка
Get: Приходит ответ на запрос регистрации - платежный шлюз возвращает уникальный иден-
тификатор заказа в платежной системе или errorCode(0,1,3,4,5,7, 13,14), и URL, на который
необходимо перенаправить пользователя для получения платежной формы
Get: Пользователь получает платёжную форму
Put: Пользователь отправляет данные на сервер платежного шлюза. Детали заказа переда-
ются в систему фрод-конроля (на стороне банка) для определения вероятности мошенниче-
ства.
Get: В платёжный шлюз возвращаются результаты проверки заказа на мошенничество
Get: Веб Сервер запрашивает у платежного шлюза статус оплаты заказа (по уникальному
идентификатору заказа в платежной системе, который был получен при регистрации заказа)
Get: Платежный шлюз получает статус оплат от банка. Сервер отправляет пользователю ин-
формацию про оплаты – успешный платеж или неуспешно
Get: Получить список платежей пользователя
24
2.2.3 Блок бизнес логики
Сценарии использования приложения
Все возможные сценарии использования приложения в разрезе ролей представлены в таб-
лице 12.
Таблица 12. Сценарии использования приложения
25
# Сценарий Описание Пользователи
26
# Сценарий Описание Пользователи
27
# Сценарий Описание Пользователи
28
# Сценарий Описание Пользователи
29
# Сценарий Описание Пользователи
30
# Сценарий Описание Пользователи
31
# Сценарий Описание Пользователи
32
# Сценарий Описание Пользователи
33
# Сценарий Описание Пользователи
34
# Сценарий Описание Пользователи
35
# Сценарий Описание Пользователи
36
# Сценарий Описание Пользователи
37
Изменение статусов проекта
Ста- 1 2 3 4 5 6 7 8 9 10
тусы
1 - Да Да - - - - - - -
2 Да - Да Да - - - - - Да
3 - - - - - - - - - -
4 - Да - - Да - - - - -
5 - - - - - Да Да - - -
6 - - - - Да - - Да Да -
7 - - - - Да - - Да - -
8 - - - - - - Да - Да -
9 - - - - - - - - Да -
10 - Да Да - - - - - - -
Инициирующие события для смены статусов проектов представлены в таблице 17.
Таблица 17. Переход статусов проекта
38
№ Переход стату- Описание событий перехода Поля, запол- Кто изме-
сов статусов / обязательных усло- няемые авто- няет статус
вий матически
2 Черновик -> Но- После нажатия кнопки "Опубли- Модератор,
вый ковать" для которой обязательно который
должны быть заполнены необхо- указан авто-
димые аналитики: ром проекта,
либо модера-
1. Наименование проекта тором про-
2. Категория проекта екта.
3. Город
4. Критичность
5. Актуальный срок проекта С,
нельзя указывать дату про-
шлую по отношению к теку-
щей дате
6. Актуальный срок проекта По,
нельзя указывать дату
меньше чем "Актуальный
срок проекта С, и нельзя ука-
зывать дату позднее чем 2 ме-
сяца от
7. "Актуальный срок проекта С"
8. Требуемая сумма
9. Краткое описание
10. Модератор, редактируемое
поле для автора проекта.
11. Статус
12. Описание
13. Смета
14. Прикреплённые файлы
3 Черновик -> Деак- Проект был деактивирован. Обя- Дата деакти- Модератор,
тивирован зательное должно быть запол- вации, не из- который
нено: меняемое указан авто-
поле ром проекта,
"Причина деактивации". Инициатор либо модера-
деактивации, тором про-
не изменяе- екта.
мое поле
4 Новый -> Черно- Если пользователь удалит одно Модератор,
вик из обязательных для публикации который
полей, то у него нет возможности указан авто-
опубликовать проект, но есть воз- ром проекта,
можность сохранить как черно- либо модера-
вик тором про-
екта.
5 Новый-> Требует При ежедневной проверке си- Автоматиче-
уточнения акту- стема определила, что у проекта в ски, система
альности статусе «Новый» поле «Срок акту-
альности по» равен текущая дата
+ 14 (или меньше) дней
6 Требует уточне- Модератор изменил поле «Срок Модератор,
ния актуальности актуальности по» на дату, боль- который
-> Новый шую, чем текущая дата + 14 ка- указан авто-
лендарных дней ром проекта,
39
№ Переход стату- Описание событий перехода Поля, запол- Кто изме-
сов статусов / обязательных усло- няемые авто- няет статус
вий матически
либо модера-
тором про-
екта.
7 Требует уточне- Проект был деактивирован. Обя- Дата деакти- Модератор,
ния актуально- зательное должно быть запол- вации, не из- который
сти-> Деактиви- нено: меняемое указан авто-
рован поле ром проекта,
"Причина деактивации". Инициатор либо модера-
деактивации, тором про-
не изменяе- екта.
мое поле
5 Новый -> Деакте- Проект был деактивирован. Обя- Дата деакти- Модератор,
вирован зательное должно быть запол- вации, не из- который
нено: меняемое указан авто-
поле ром проекта,
"Причина деактивации". Инициатор либо модера-
деактивации, тором про-
не изменяе- екта.
мое поле
6 Новый -> 3 1. Проект был выбран в системе в Автоматиче-
результате голосования. (См. со- ски, система
ответствующий шаг сценария ис-
пользования приложения);
3. К голосованию допускаются
проекты, у которых "Актуальный
срок реализации по" больше чем
"Дата начала голосования + две
недели";
40
№ Переход стату- Описание событий перехода Поля, запол- Кто изме-
сов статусов / обязательных усло- няемые авто- няет статус
вий матически
8 Идёт сбор средств Проект собрал средства в резуль- Начало реали- Автоматиче-
-> Идёт исполне- тате этапа сбора средств (Требуе- зации, запол- ски, система
ние мая сумма сбора = Текущая сумма няется авто-
сбора) матически, не
доступно для
редактирова-
ния
9 Идёт исполнение Перевод статуса доступен только Сумма Куратор,
-> Выполнен. куратору. средств затра- указанный в
Ожидает под- ченная фон- карточке
тверждения мо- Обязательно должны быть запол- дом, не до- проекта
дератора нены: ступно для ре-
дактирования
Чеки
Итоги проекта
Приложенные файлы
Фактическая сумма потраченных
денежных средств
Если фактическая сумма потра-
ченных денежных средств > со-
бранной суммы, то обязательно к
заполнению сумма средств затра-
ченная фондом
10 Идёт исполнение Перевод статуса доступен только Сумма Куратор,
-> Не выполнен. куратору. средств затра- указанный в
Ожидает под- ченная фон- карточке
тверждения мо- Обязательно должны быть запол- дом, недо- проекта
дератора нены: ступно для ре-
дактирования
Итоги проекта
Приложенные файлы
Фактическая сумма потраченных
денежных средств.
Если фактическая сумма потра-
ченных денежных средств запол-
нена, то должны быть обяза-
тельно приложены чеки
Если фактическая сумма потра-
ченных денежных средств > со-
бранной суммы, то обязательно к
заполнению сумма средств затра-
ченная фондом
11 Выполнен. Ожи- Перевод статуса доступен только Модератор,
дает подтвержде- Модератору указанный в
ния модератора - карточке
> Идёт исполне- Обязательно указание причины проекта
ние (Замечание модератора) пере-
вода в данный статус. Будет отра-
жаться Куратору.
41
№ Переход стату- Описание событий перехода Поля, запол- Кто изме-
сов статусов / обязательных усло- няемые авто- няет статус
вий матически
12 Не выполнен. Перевод статуса доступен только Модератор,
Ожидает под- Модератору указанный в
тверждения мо- карточке
дератора -> Идёт Обязательно указание причины проекта
исполнение (Замечание модератора) пере-
вода в данный статус. Будет отра-
жаться Куратору.
13 Выполнен. Ожи- Перевод статуса доступен только Дата выпол- Модератор,
дает подтвержде- Модератору нения, не ре- указанный в
ния модератора - дактируемое карточке
> Выполнен проекта
14 Выполнен. Ожи- Перевод статуса доступен только Модератор,
дает подтвержде- Модератору указанный в
ния модератора - карточке
> Не выполнен Обязательно указание причины проекта
(Замечание модератора) пере-
вода в данный статус. Будет отра-
жаться Куратору.
15 Не выполнен. Перевод статуса доступен только Модератор,
Ожидает под- Модератору, указанному в кар- указанный в
тверждения мо- точке проекта карточке
дератора -> Не проекта
выполнен Доступны к изменению проекты
для которых актуально следую-
щее условие: Дата выполнения +
3 дня < текущая дата
16 Не выполнен -> Перевод статуса доступен только Модератор,
Не выполнен. Модератору указанному в кар- указанный в
Ожидает под- точке проекта карточке
тверждения мо- проекта
дератора
17 Выполнен -> Не Перевод статуса доступен только Модератор,
выполнен Модератору, указанному в кар- указанный в
точке проекта, и Администра- карточке
тору. Ограничений нет. проекта, Ад-
министра-
Доступны к изменению проекты тор
для которых актуально следую-
щее условие: Дата выполнения +
3 дня < текущая дата
18 Не выполнен -> Перевод статуса доступен только Дата выпол- Модератор,
Выполнен Модератору, указанному в кар- нения, не ре- указанный в
точке проекта, и Администра- дактируемое карточке
тору. Ограничений нет. проекта, Ад-
министра-
Доступны к изменению проекты тор
для которых актуально следую-
щее условие: Дата выполнения +
3 дня < текущая дата
42
Решения по Волонтерам
Пользователи могут стать волонтерами для конкретного проекта. Логика процесса представ-
лена на рисунке 2.
43
Настройка PUSH-Уведомлений
Таблица 18. Настройка PUSH-уведомлений
46
# Роль Событие Уведомление Частота Инициирующее Время рассылки Параметры
событие
15 Куратор (Ис- Проект завер- К сожалению, По факту Изменение статуса После наступления ини- Можно отключить
полнитель шен (смена ста- проект «Назва- смены статуса проекта, на который циирующего события в
выполнен- туса) ние» и ID был назначен Куратор, с 08:05 и в зависимости от
ного про- реализован не «Выполнен. Ожидает часового пояса пользо-
екта) успешно. Свя- подтверждения моде- вателя
житесь с моде- ратора» на «Не выпол-
ратором для нен»
уточнения дета-
лей
16 Куратор Необходимо со- Необходимо со- По факту со- Регистрация в системе Каждые вторник, чет- Не показывается в меню
гласовать ан- гласовать но- бытия анкеты волонтера в верг и суббота, после настроек Push-
кеты волонте- вые анкеты во- статусе «Требуется со- наступления иницииру- уведомлений в приложе-
ров лонтеров! гласование» ющего события в 08:05 и нии
в зависимости от часо-
вого пояса пользователя
17 Пользова- Начался сбор Уважаемый По факту Изменение статуса После наступления ини- Можно отключить
тель (не вы- средств на про- пользователь! смены статуса проектов с «Новый» на циирующего события в
бравший екты недели Начался сбор «Идет сбор средств» 10:05 и в зависимости от
предпочти- средств на про- часового пояса пользо-
тельные ка- екты этой не- вателя
тегории) дели!
18 Пользова- Начался сбор Уважаемый По факту Изменения статуса После наступления ини- Можно отключить
тель (вы- средств на про- пользователь! смены статуса проектов в рамках ка- циирующего события в
бравший екты недели Начался сбор тегорий, указанных 10:05 и в зависимости от
предпочти- средств на про- как «Интересные» в часового пояса пользо-
тельные ка- екты, интересу- карточке пользова- вателя
тегории) ющих Вас кате- теля, с «Новый» на
горий! «Идет сбор средств»
19 Пользова- Проект собрал Поздравляем, По факту Изменение статуса После наступления ини- Можно отключить
тель (пода- деньги (на ко- проект на кото- события проекта, на который циирующего события в
ривший торый пожерт- рый вы пожерт- пользователь пожерт- 10:05 и в зависимости от
средства на вовал деньги вовали, собрал вовал средства с «Идет часового пояса пользо-
пользователь) вателя
47
# Роль Событие Уведомление Частота Инициирующее Время рассылки Параметры
событие
проект, со- необходимую сбор средств» на «Сред-
бравший сумму! ства собраны»
средства)
20 Пользовател После предва- Уважаемый По факту со- Предварительный под- После наступления ини- Не показывается в меню
ь (еще не рительного пользователь, бытия счет средств в рамках циирующего события в настроек Push-
жертвовав- подсчета для реализации алгоритма определил 10:05 и в зависимости от уведомлений в приложе-
ший) средств кри- проекта «Назва- необходимость от- часового пояса пользо- нии
тичный проект ние проекта» не правки уведомления вателя
не собрал сумму хватает совсем
в рамках алго- немного. Воз-
ритма (См. п. 2.2 можно, именно
Функциональ- Ваш вклад ста-
ные требова- нет решающим.
ния, п.п. 4.6
Критичность)
21 Пользова- Проект не со- К сожалению, По факту Изменение статуса После наступления ини- Можно отключить
тель брал денег проект, на кото- смены статуса проекта, на который циирующего события в
рый вы пожерт- пользователь пожерт- 10:05 и в зависимости от
вовали, не со- вовал средства с «Идет часового пояса пользо-
брал доста- сбор средств» на «Но- вателя
точно средства. вый»
Ваше пожертво-
вание вернется
на карточку в
ближайшее
время.
22 Пользовател Проект Поздравляем! По факту Изменение статуса После наступления ини- Можно отключить
ь выполнен Проект, на кото- смены статуса проекта, на который циирующего события в
(смена статуса) рый вы пожерт- вносил пожертвование 10:05 и в зависимости от
вовали был реа- пользователь, с «Вы- часового пояса пользо-
лизован! полнен. Ожидает под- вателя
тверждения модера-
тора» на «Выполнен»
48
# Роль Событие Уведомление Частота Инициирующее Время рассылки Параметры
событие
23 Пользова- Проект не вы- К сожалению, По факту Изменение статуса После наступления ини- Можно отключить
тель (жерт- полнен (смена проект, на кото- смены статуса проекта, на который циирующего события в
вовавший на статуса) рый Вы пожерт- вносил пожертвование 10:05 и в зависимости от
проект, кото- вовали, не уда- пользователь, с «Не часового пояса пользо-
рый не уда- лось реализо- выполнен. Ожидает вателя
лось реали- вать. Ваши сред- подтверждения моде-
зовать) ства вернутся к ратора» на «Не выпол-
Вам на карту в нен»
ближайшее
время.
24 Волонтёр Смена роли на Поздравляем, По факту Присвоение пользова- После наступления ини- Не показывается в меню
волонтёр (на Ваша анкета смены роли телю роли «Волонтер» циирующего события в настроек Push-
все про- одобрена. Те- для пользова- 10:05 и в зависимости от уведомлений в приложе-
екты/волонтер перь Вы волон- теля без кон- часового пояса пользо- нии
фонда) тёр фонда – кретного про- вателя
«Красивые екта.
люди»!
25 Волонтёр Проект Большое спа-По факту Изменение статуса После наступления ини- Можно отключить
(участвовав- выполнен сибо! Благодаря смены статуса проекта, на который циирующего события в
ший в реали- (смена статуса) Вам удалось ре- назначен Волонетр, с 10:05 и в зависимости от
зованном ализовать про- «Выполнен. Ожидает часового пояса пользо-
проекте) ект! подтверждения моде- вателя
ратора» на «Выпол-
нен»
26 Волонтер Начался сбор Начался сбор По факту Изменение статуса После наступления ини- Не показывается в меню
(только для средств на про- средств на но- смены статуса проекта с «Новый» на циирующего события в настроек Push-
волонтеров екты вые проекты, «Идет сбор средств» 10:05 и в зависимости от уведомлений в приложе-
фонда) пожалуйста, часового пояса пользо- нии
укажите про- вателя
екты, в которых
вы хотели бы
49
# Роль Событие Уведомление Частота Инициирующее Время рассылки Параметры
событие
принять уча-
стие в роли во-
лонтера.
27 Волонтер Волонтер Ура! Вас вы- По факту Изменение статуса После наступления ини- Можно отключить
(назначен- назначен на брали волонте- события проекта с «Идет сбор циирующего события в
ный на про- проект ром на проект средств» на «Идет ис- 10:05 и в зависимости от
ект) «название» и ID полнение» и автомати- часового пояса пользо-
ческое назначение или вателя
ручной выбор пользо-
вателя с ролью «Кура-
тор» - пользователя с
ролью «Волонтер» ис-
полнителем проекта
«…»
Настройка Email-Уведомлений
Таблица 19. Настройка Email-уведомлений
50
# Роль Событие Уведомление Частота Параметр
нителях (с номе-
рами телефона и
адресами)
3 Волонтер Назначение ис- Рассылка волон- Раз в неделю Обязательно
полнителем на терам информа-
проект ции о проекте и о
выбранных ис-
полнителях (с
номерами теле-
фона и адресами)
4 Все пользователи 25 декабря Таблица проек- Раз в год Обязательно
тов, которые
были выполнены
с участием поль-
зователя за год
5 Все пользователи 25 декабря Таблица проек- Раз в год Обязательно
тов, которые
были выполнены
за прошедший
год
6 Модератор 25 декабря Годовой отчёт о Раз в год Обязательно
проектах, в кото-
рых был вовле-
чен
7 Куратор 25 декабря Годовой отчёт о Раз в год Обязательно
проектах, в кото-
рых был вовле-
чен
8 Волонтер 25 декабря Годовой отчёт о Раз в год Обязательно
проектах, в кото-
рых был вовле-
чен
51
Решение по городам
Общая информация по справочнику:
1. Добавляются два справочника: города и технические регионы. Справочник города запол-
няется автоматически (См. модель город), и редактируется пользователем с правами тех-
нический администратор. Справочник города должен обновляться автоматически, при
обновлении базы из которой загружаются данные. При этом данные не перезаписыва-
ются, а изменяются в рамках уже созданной ранее записи (id) либо добавляются новые
записи (Если отсутствовали ранее).
2. В справочнике тех. регионы технический администратор может создать новый элемент, в
рамках которого указывается город /набор городов, которые относятся к указанному тех.
региону. При этом у каждого тех. региона может стоять признак «Активирован» / «Деак-
тивирован». По умолчанию при создании нового элемента установлен признак «Деакти-
вирован» и пользователю необходимо изменить его вручную. Контроли при работе со
справочником:
2.1. Запрещено создавать тех. регионы с одинаковым названием;
2.2. Запрещено указывать один город более одного раза как в рамках одного тех. региона,
так и в рамках нескольких;
2.3. При изменении состава тех. регионов, система автоматически обновляет тех. регионы
во всех связанных объектах (Проекты, пользователи и другие)
2.4. При установке признака «Активирован» система автоматически добавляет тех. ре-
гион во всех связанных объектах (Проекты, пользователи и другие), где указаны го-
рода, входящие в тех. регион.
2.5. При установке признака «Деактивирован» система автоматически очищает тех. ре-
гион во всех связанных объектах (Проекты, пользователи и другие), где указаны го-
рода, входящие в регион.
Примеры тех. регионов: Москва и МО, куда входят следующие города: Москва, Дзержинск, По-
дольск, Пушкино, Королев, Мытищи, Реутов.
Дополнительно см. Примеры тех. регионов на сайте https://www.the-village.ru.
Регистрация / редактирование пользователя:
3. При регистрации пользователи указывают город, в котором они живут и система автома-
тически определяет к какому техническому региону относится данный пользователь.
Если указанный город не относится ни к одному из добавленных в систему тех. регионов,
то пользователю по умолчанию отражаются проекты по самому первому техническому
региону с признаком «Активирован».
4. В приложении пользователь в меню может изменять технический регион, по которому он
просматривает проекты на те, которые добавлены в систему и у которых установлен при-
знак «Активирован». При изменении тех. региона в приложении настройки профиля
должны отражаться проекты того региона, который выбрал пользователь. После того, как
пользователь указал другой тех. регион ему отражаются проекты выбранного тех. реги-
она. Пользователь может пожертвовать 300 рублей только на один проект в одном из тех.
регионе (т.е. у пользователя нет возможности пожертвовать на проект в каждом тех. ре-
гионе).
5. В случае, если пользователь переехал в другой город (и тех. регион), то он может изменить
город в настройках профиля, и у него автоматических будет изменен тех. регион, по кото-
рому ему при следующем в ходе будут отражаться проекты.
Пример: См. Приложение Афиша, процесс смены городов внутри приложения приводит к
смене отражаемых мероприятий.
Добавление / редактирование проекта и голосование:
6. При регистрации проектов авторы / модераторы указывают точный адрес проекта (с не-
обходимой точностью для определения места на карте), после чего автоматически опре-
деляется тех. регион проекта и заполняется в карточке проекта. Если указанный город не
входит не в один из имеющихся регионов или входит в тех. регион у которого установлен
признак “Деактивирован”, то данное поле не заполняется, и система выводит пользова-
телю соответствующее сообщение о том, что на текущий момент проект не может быть
исполнен, так как приложение не работает в указанном городе.
7. На еженедельное голосование модераторам отражаются только те проекты, тех. регион
которых равен тех. региону, указанном в карточке модератора. Таким образом Проекты
без тех. региона не появятся на голосовании, пока соответствующий тех. регион не будет
добавлен, а модераторы смогут голосовать за проекты в том тех. регионе, где они рабо-
тают. Модератор может изменить город в настройках профиля и таким образом у него
будет изменен тех. регион, по которому он может голосовать.
Изменения для схемы механизма участия в реализации проектов и подбора волонтёров:
8. При установке галочки в проекте в поле «Стать волонтёром» система проверяет тех. Ре-
гион из карточки пользователя и тех. регион проекта, и в случае, если они отличаются –
пользователю выводится информирующее, не блокирующее сообщение, которое требует
от пользователя подтверждения, что он хочет участвовать в реализации проекта по дан-
ному тех. региону, несмотря на то что в его профиле указан отличающийся тех. регион.
9. Для того, чтобы на проекты подбирались исполнители из максимально удобных локаций,
а также, что бы исполнители могли выполнять проекты других регионов (В случае вре-
менного переезда) волонтёры могут установить галочку «Стать волонтёром» внутри про-
екта в любой момент.
10. Волонтёрам в начале недели должно отправлять Push уведомление о том, что если они
хотят, чтобы система по возможности добавляла их в роли исполнителей в проект в соот-
ветствии с их пожеланиями, то необходимо установить признак «Стать волонтёром» в
карточке проекта. Признак может быть установлен во всех проектах в рамках одного ре-
гиона, но не может быть установлен на проекты в двух разных регионах.
11. Механизм назначения исполнителей после добавления в качестве волонтёров пользова-
телей, которые являются волонтёрами фонда должен в первом приоритете назначать во-
лонтёров фонда, которые указали, что хотят участвовать в реализации конкретного про-
екта. После анализируются волонтёры фонда, у которых город в карточке пользователя
равен городу в карточке проекта. После анализируются все пользователи, у которых тех-
нический регион в карточке пользователя равен карточке проекта.
53
2.2.4 Блок интерфейсов
Административная панель
Введение
Админ Web приложение – платформа для отслеживания работы сервиса, назначения новых
ролей пользователям, отслеживания распределения средств, техническая поддержка прило-
жения. Административная панель создается на базе решения, разработанного:
http://webapplayers.com/inspinia_admin-v2.8/
Функциональный дизайн и описание
Экран 1. Вход в админ панель
54
Экран 2. Статистика по приложению
55
8. Возможность создания нового проекта в БД для пользователей с ролью Модератор и Ад-
министратор.
56
Экран 6. Редактирование карточки проекта Администратором
15. Внесение изменений в карточку проекта пользователем с ролью Администратор при лю-
бом текущем статусе проекта
16. Возможность ручного инициирования возврата денежных средств при недостатке
средств на проект во время сбора. Инициирование осуществляется по нажатию на кнопку
«Возврат средств»
17. Возможность ручного изменения текущего статуса проекта пользователем с ролью «Ад-
министратор»
57
Экран 8. Управление Пользователями
58
Экран 10. Транзакции
27. На странице Лог изменений отображается история, совершенных изменений в админ па-
нели, с указанием пользователя, совершившего изменение.
28. Есть возможность выгрузить таблицу в текущем (настроенном) виде в Excel.
59
Экран 12. Лог изменений
60
Экран 14. Основные настройки
61
Экран 16. Шаблоны рассылок по Email: Пользователи
35. Email для рассылки всем Пользователям состоит из таблиц проектов, которые были вы-
полнены с участием Пользователя за год (если таковые существуют) с указанием раз-
бивки по ролям (в формате грамоты-поощрения):
i. Спасибо вам за пожертвования: (далее таблица проектов, на которые Пользователь
осуществлял пожертвования и одновременно которые были выполнены);
ii. Спасибо вам, нашей команде волонтеров удалось помочь нуждающимся: (далее таб-
лица проектов, зарегистрированных данным Модератором и которые были выпол-
нены, если таковые существуют);
iii. Спасибо, благодаря вам мы помогли этим людям и животным: (далее таблица проек-
тов, в которых Куратор или Волонтер был вовлечен, если таковые существуют).
62
Мобильное приложение (Android, IOS)
Функциональный дизайн и описание
2. Вход Назначение:
Пользователь видит первый раз, когда
заходит в приложение
Функционал:
1. Окно для ввода логина
2. Окно для ввода пароля
3. Кнопка «Вспомнить»
4. Кнопка «Войти»
5. Кнопка «Регистрация»
6. Кнопка «Пропустить»
7. Под логотипом указывается
сколько новых проектов было
загружено и сколько дней назад
63
# Экран Описание Фото экрана
3. Регистрация Назначение:
Пользователь видит экран, когда нажи-
мает «Регистрация на экране входа».
Экран содержит варианты регистрации
Функционал:
1. Кнопка «через facebook»
2. Кнопка «через вконтакте»
3. Кнопка «Электронная почта»
4. Кнопка «Выйти» из экрана
64
# Экран Описание Фото экрана
6. Сбросить пароль Назначение:
Пользователь забыл пароль и хочет вос-
пользоваться функцией восстановле-
ния пароля
Функционал:
1. Пользователь вводит свой Email
и нажимает кнопку «восстано-
вить», куда приходит ссылка на
обновление пароля
65
# Экран Описание Фото экрана
7. Регистрация Назначение:
пользователя Пользователь вводит основные данные
для регистрации своего аккаунта в при-
ложении
Функционал:
1. Имя
2. Фамилия
3. Отчество
4. Дата рождения
5. Город
6. Пароль
7. Подтверждение пароля
8. Профиль Назначение:
Пользователь видит настройки своего
профиля. Содержит три вкладки: (1) ос-
новные, (2)уведомления, (3) контакты
Функционал:
1. Кнопка «Редактировать про-
филь»
2. Кнопка «Изменить пароль»
3. Кнопка «Аккаунты социальных
сетей»
4. Переключатель «Настройка уве-
домлений»
5. Переключатель «Платежные
данные»
66
# Экран Описание Фото экрана
9. Профиль Назначение:
→Редактировать Пользователь меняет настройки про-
профиль филя
Функционал:
1. Имя
2. Фамилия
3. Отчество
4. Дата рождения
5. Телефон
6. Email
7. Аватар (загрузка картинки)
Функционал:
1. Ввод старого пароля
2. Ввод нового пароля
3. Повторный ввод нового пароля
(защита от ошибки)
4. Подтверждение
Функционал:
1. Виджеты
2. Уведомления
3. Изменение статуса
4. Выполнение проекта
5. Начало новых проектов
67
# Экран Описание Фото экрана
12. Профиль Назначение:
→Платежные Пользователь настраивает данные
данные своих платежных карт
Функционал:
1. Добавление новой карточки
2. Удаление ранее сохраненной в
приложении карточки
3. Ввод данных по банковской кар-
точке
Функционал:
1. Отображаются транзакции по
списанию с карточки Пользова-
теля суммы пожервтования
(указывается последние 4 цифра
номера карточки)
2. Отображаются транзакции по
возврату средств на карточку
Пользователя
68
# Экран Описание Фото экрана
14. Выбор города Назначение:
для вывода про- Пользователь может переключиться
екта между городами (Как Афиша) для вы-
вода проектов на неделю
Функционал:
3. Установка метки на город
4. Строка поиска города
5. Кнопка подтверждения выбора
Функционал:
1. Swipe по проектам, которые
опубликовало приложение
(пять проектов в неделю)
2. Кнопка «Подарить» (пожертво-
вать 300руб.)
3. При нажатии на экран, пользова-
тель видит детальную информа-
цию по проекту
4. Указано сколько нужно собрать
и сколько уже собрано
16. Главная стра- Назначение:
ница →Подарить При нажатии на кнопку «Подарить» воз-
никает экран, где Пользователь выби-
рает способ оплаты
Функционал:
1. Пользователь может выбирать
способ оплаты через переключе-
ние Swipe
2. Пользователь может добавить
новую карточку (при Swipe в са-
мый конец- вправо)
3. Пользователь видит информа-
цию по своему профилю (нельзя
редактировать в этом экране)
69
# Экран Описание Фото экрана
17. Главная стра- Назначение:
ница → Пода- При нажатии на «Перевести 300р» поль-
рить → Переве- зователь должен подтвердить ввод па-
сти 300р. ролем
Функционал:
1. Пользователь получает push-
уведомление с кодом для под-
тверждения
2. Пользователь вводит пароль в
поле и нажимает кнопку «Под-
твердить»
Функционал:
3. Модератор имеет всего 5 голо-
сов (количество голосов Модера-
торов настраивается в админ па-
нели Администратором).
4. Модератор оставляет максимум
2 голоса за одну категорию. Дол-
жен проголосовать за проект из
каждой категории.
5. По абсолютному количеству го-
лосов система определяет 5 про-
ектов (количество проектов
определяется Администратором
в админ панели), которые будут
опубликованы для пользовате-
лей на следующую неделю
6. При голосовании Модератором
за один из проект – кнопка «Про-
голосовать» меняется на «Голос
учтен» и красится в зеленый
цвет
7. Модератор может нажать
кнопку «Категории» и настроить
фильтрами категории проектов
для отображения
70
# Экран Описание Фото экрана
19. Голосование → Назначение:
Выбор проекта Модераторы могут просмотреть по-
дробную информацию по каждому про-
екту, нажав на него и открывается
экран проекта
Функционал:
1. Модератор нажимает на один из
проектов списка экрана «Голосо-
вание» и ему открывается по-
дробная информация по проекту
Функционал:
2. Модератор нажимает кнопку
«Категории» возникает экран
выбора Категорий. Принцип вы-
бора - select
Функционал:
1. Пользователь заполняет обяза-
тельные поля и отправляет за-
полненную анкету на проверку
Куратором (проверка происхо-
дит в админ панели):
- Дополнительный телефон
- Страница волонтера вконтакте
- Опыт работы
- Таланты
- Желаемые категории
- Загрузить свои грамоты (если
есть)
2. Кнопка «Отправить» позволяет
сохранить заполненную анкету
для проверки с ролью «Куратор»
в БД админ панели
71
# Экран Описание Фото экрана
22. Стать волонте- Функционал:
ром → Выбор ка- Пользователь при отправке заявки на
тегории волонтера фонда обязан заполнить
поле «Желаемые категории»
Функционал:
1. Пользователь выбирает интересую-
щие его категории
2. Кнопка «Далее» возвращает на экран
заполнения анкеты
Функционал:
1. Поля для ввода данных по кар-
точке (приложение сохраняет
ранее введенные данные, кото-
рые можно редактировать в
настройках профиля пользова-
теля)
2. Кнопка «Подарить»
72
# Экран Описание Фото экрана
25. Добавление от- Назначение:
четности Экран доступен пользователям с ролью
«Куратор». Куратор прикрепляет необ-
ходимые документы на вкладку «Отчет-
ность» карточки проекта
Функционал:
1. Добавление фотографий с мо-
бильного телефона волонтера
2. Добавление текстового описа-
ния по исполнению проекта
3. Добавление чеков файлов с теле-
фона (фотографии, pdf) как чеки
4. Добавление информации по фак-
тически затраченной сумме на
реализацию проекта
5. Кнопка «Отправить отчет»
6. В карточке проекта появляется
вложенный файл «Отчетность»,
который можно просмотреть с
телефона
Функционал:
1. Название проекта с фотогра-
фией, с возможность выделить
несколько проектов, нажав на
картинку проекта
2. Кнопка «Подтвердить актуаль-
ность»
73
# Экран Описание Фото экрана
27. Сам проект (от- Назначение:
крывается при При нажатии на основном экране на
первом нажатии проект, открывается карточка проекта
выбора проекта) (на рисунке справа отображен экран за-
пуска, при прокрутке вниз появляется
подробная информация по проекту)
Функционал:
1. Кнопка «Подарить»
2. Кнопка «Стать волонтером»
Примечание:
Нет функционала оставления коммен-
тариев
74
# Экран Описание Фото экрана
75
# Экран Описание Фото экрана
29. пСам проект (от- Назначение:
ркрывается при При нажатии на основном экране на
первом нажатии проект, открывается карточка проекта
выбора проекта)
→Смена статуса Функционал:
«вы волонтер» 1. При согласовании Куратором за-
явки на волонтерство у пользо-
вателя на экране проекта появ-
ляется надпись – «Вы волонтер
проекта»
Функционал:
1. Кнопка «Проектов» - показывает
общее количество проектов до-
бавленных модератором
2. Кнопка «Завершенных» - показы-
вает общее количество завер-
шенных проектов
При нажатии на любую из кнопок меня-
ется составляющая проектов внизу
экрана
76
31. Сам проект Назначение:
Пользователь видит экран с детальной
информацией при нажатии на проект
Функционал:
1. Содержит информацию сколько
собрано и сколько нужно со-
брать, количество пожертвовав-
ших
2. Кнопка «Подарить»
3. Кнопка «Комментарии», где со-
держится информация по коли-
честву комментариев
4. Содержит три вкладки: (1) Опи-
сание (информация с описанием
проекта; фото с возможностью
просматра swipe; карта с адре-
сом проекта), (2) реализация, где
содержится вся информация по
ходу реализации проекта, загру-
жаемая Исполнителями, (3) Ис-
полнители
77
# Экран Описание Фото экрана
32. Статистика Назначение:
Пользователь видит статистику по всем
проектам
Функционал:
1. Содержит график по количеству
пожертвоваший в разрезе
недель
2. Содержит информацию по всем
пожертвовавшим на проект
пользователям
Функционал:
1. Кнопка «Проекты»
2. Кнопка «Наши проекты»
3. Кнопка «Задать вопрос»
4. Кнопка «О нас»
78
# Экран Описание Фото экрана
35. Личный кабинет Назначение:
пользователя Пользователь может зайти в свой лич-
ный кабинет, где отражаются проекты,
в которых он учувствовал, список ачи-
вок, которые он получил
Функционал:
1. Кнопка «Проектов» - показывает
общее количество проектов, в ко-
торых участвовал пользователь
2. Кнопка «ачивок» - показывает об-
щий перечень ачивок, полученных
пользователь
При нажатии на любую из кнопок меня-
ется составляющая проектов внизу
экрана
36. Ваши проекты Назначение:
Продолжение экрана «Личный кабинет
пользователь» после нажатия кнопки
«Проектов»
Функционал:
Карточки проектов с возможностью
«провалиться в них»
79
# Экран Описание Фото экрана
37. Список достиг- Назначение:
нутых ачивок Продолжение экрана «Личный кабинет
пользователь» после нажатия кнопки
«Ачивок»
Функционал:
Карточки ачивок с возможностью «про-
валиться» в них
Функционал:
1. Кнопка «Задать вопрос»
2. Выпадающие списки с ответами
на популярные вопросы
80
# Экран Описание Фото экрана
40. Задать вопрос Назначение:
Пользователь может отправить сообще-
ние
Функционал:
1. Содержит поле для ввода сооб-
щения
2. Кнопка «Отправить»
3. Выпадающий список с категори-
ями вопроса
Функционал:
Содержит текст с информацией о Pro-
ject-C
Функционал:
Содержит текст с информацией о поли-
тике конфиденциальности Project-C
81
# Экран Описание Фото экрана
43. N/A
82
2.2.5 Блок транзакции
Функциональное описание
После окончания голосования, если проекты не собрали достаточно средств, средства возвра-
щаются дарителям (пользователям, пожертвовавшим средства) через API alfa bank, изменяя
статус проекта на новый, а статусы проектов, собравших достаточно средств изменяя на
«Идет исполнение».
Функциональное описание
После окончания голосования для каждого проекта, собравший достаточно средств назна-
чает куратора и трех волонтёров по логике описанный в разделе Решения по Волонтерам.
83
3. Прочие требования
3.1. Порядок контроля и приемки Системы
По завершении работ и/или отдельного этапа работ Исполнитель предоставляет Заказчику
исходный текст и объектный код ПО (в том числе его части) на оптическом диске или посред-
ством сети связи с сопутствующей технической документацией и руководствами по исполь-
зованию.
Заказчик в течение одной недели с момента извещения Исполнителем о готовности ПО обя-
зуется принять и протестировать подготовленный Исполнителем этап разработки ПО.
Заказчик в течение одного месяца с момента извещения Исполнителем о готовности ПО к
публикации на серверах Appstore и Play Маркет обязуется принять и протестировать подго-
товленный Исполнителем ПО.
После принятия Заказчиком решения о соответствии ПО требованиям Технического задания
Стороны составляют акт сдачи-приемки выполненных работ. В случае мотивированного от-
каза Заказчика подписать акт сдачи-приемки Сторонами составляется двусторонний акт с
указанием необходимых доработок и сроков их выполнения.
84