Академический Документы
Профессиональный Документы
Культура Документы
Приложение по благотворительности
Москва 2016
Содержание
2
1. IT структура сервиса
# Роли Функционал
1 Пользователи (П) • Внесение пожертвований на проекты
3
3. Сценарии использования
4
# Сценарий Описание Пользователи
• Личные данные
• Данные банковских картам (добав-
ление, удаление карты)
5
# Сценарий Описание Пользователи
6
# Сценарий Описание Пользователи
• Три волонтера
Система отправляет уведомление исполни-
телю о том, что он выбран для реализации
конкретного проекта
22 Ведение проекта Исполнитель может зайти в проект, в кото- И
рый он назначен, и вносить изменения в
раздел «Исполнение» описание по ходу ре-
ализации проекта, добавлять новости и от-
четность
23 Создание нового Администратор может дать права админи- А
пользователя адми- стративного назначения (Модератор, Ис-
нистративного полнитель, Администратор) пользовате-
назначения (М, А, И) лям. Необходимо, что бы пользователь был
(WEB) зарегистрирован в системе
24 Возврат средств По окончании 7 дней, в случае если проект А
не собирает необходимые средства, статус
проекта автоматически изменяется на
«Возврат средств». При этом пожертвован-
ные средства возвращаются на виртуаль-
ные счета пользователей. С них они могут
жертвовать на другие проекты
25 Изменение\удале- Администратор может изменять права до- А
ние модератора\ис- ступа для модераторов и исполнителей, а
полнителя также удалять их из системы
7
4. Автоматические процессы
# Процесс Описание
1 Автоматическое В установленный администратором период модераторам при-
управление жиз- ходит уведомление на проведение голосование по проектам.
ненным циклом Модераторы голосуют за проекты, которые они хотели бы ви-
проекта деть на следующий период по сбору средств.
Система подсчитывает голоса, и к началу следующего периода
сбора средств она меняет статус на «Сбор средств» и отобра-
жает их на соответствующей странице.
По окончанию периода сбора средств система переводит про-
ект в статус «Средства собраны», либо «Средства не собраны».
2 Платежи Существует две сущности: платеж и пожертвование. Платеж –
непосредственный перевод с банковской карты. Пожертвова-
ние – зачисление средств на счет проекта. Они разделены, т.к.
пожертвование может вернуться, если проект не наберет нуж-
ную сумму.
При реализации сценария пожертвования сначала создается
платеж, деньги зачисляются на счет пользователя, затем по-
жертвование, когда деньги переводятся со счета пользователя
на счет проекта.
При реализации сценария пожертвования в системе ведется
следующая информация: (1) дата пожертвования, (2) ФИО пла-
тельщика, (3) номер банковской карточки (4) проект, на кото-
рый он пожертвовал сумму, (5) сумма пожертвования,
3 Изменение стату- Модератор самостоятельно меняет статус зарегистрирован-
сов ных им проектов на «Новый»
8
# Процесс Описание
Модераторы, при выполнении проекта изменяют статус: с
«Идет исполнение» на «Не выполнен»
5. Модели данных
* – обязательное поле
5.1 Пользователи
# Модель данных Описание
9
# Модель данных Описание
• Сумма на счете
• Пожертвования пользователя
•
5.1.3 Модератор • Проекты, созданные модератором
5.1.4 Администратор • Нет специальных полей
5.2 Проекты
# Модель данных Описание
5.3 Платежи
# Модель данных Описание
11
6. Функциональные блоки
# Блок Описание
7. Техническая архитектура
7.1 Общие требования к бекенду
Основан на стеке:
• Django
• PostgreSQL
• Celery
• Docker
7.5 Платежи
Необходима интеграция с платежной системой, например, с робокассой. У них должен быть API,
который можно использовать из нашего сервиса.
12
7.6 Управление жизненным циклом проекта
Необходимо запускать фоновые задачи через Celery с возможностью настраивать их параметры
через административную панель. Обязательна запись логов.
8. Экраны приложения
# Экран Описание Фото экрана
1 Вход Назначение:
Пользователь видит первый раз, когда
заходит в приложение
Функционал:
1. Окно для ввода логина
2. Окно для ввода пароля
3. Кнопка «Вспомнить»
4. Кнопка «Войти»
5. Кнопка «Регистрация»
6. Кнопка «Пропустить»
7. Под логотипом указывается
сколько новых проектов было за-
гружено и сколько дней назад
2 Регистрация Назначение:
Пользователь видит экран, когда нажи-
мает «Регистрация на экране входа».
Экран содержит варианты регистрации
Функционал:
1. Кнопка «зарегистрироваться че-
рез facebook»
2. Кнопка «через twitter»
3. Кнопка «Электронная почта»
4. Кнопка «Выйти» из экрана
13
3 Профиль Назначение:
Пользователь видит настройки своего
профиля. Содержит три вкладки: (1) ос-
новные, (2)уведомления, (3) контакты
Функционал:
1. Кнопка «Редактировать про-
филь»
2. Кнопка «Изменить пароль»
3. Кнопка «Аккаунты социальных
сетей»
4. Переключатель «Звуковые уве-
домления»
5. Переключатель «СМС уведомле-
ния»
Функционал:
1. Поля для ввода данных по карте
2. Кнопка «добавить карту»
Функционал:
1. Swipe по проектам, которые
опубликовало приложение (пять
проектов в неделю)
2. Кнопка «Подарить» (пожертво-
вать 300руб.)
3. При нажатии на экран, пользова-
тель видит детальную информа-
цию по проекту
4. Указано сколько нужно собрать и
сколько уже собрано
14
6 Подтверждение Назначение:
оплаты При нажатии кнопки «Подарить» поль-
зователь должен подтвердить свое
намерение. Видит экран с платежной
информацией
Функционал:
1. Поля для ввода данных по кар-
точке (сохраняет ранее введен-
ные данные)
2. Кнопка «Подарить»
7 Подтверждение Назначение:
актуальности Для подтверждения актуальности
проекта проекта, у модератор выводится спе-
циальный экран, на котором им необ-
ходимо выбрать актуальные проекты
Функционал:
1. Название проекта с фотогра-
фией, с возможность выделить
несколько проектов, нажав на
картинку проекта
2. Кнопка «Подтвердить актуаль-
ность»
15
8 Сам проект Назначение:
Пользователь видит экран с детальной
информацией при нажатии на проекте
Функционал:
1. Содержит информацию сколько
собрано и сколько нужно со-
брать, количество пожертвовав-
ших
2. Кнопка «Подарить»
3. Кнопка «Комментарии», где со-
держится информация по коли-
честву комментариев
4. Содержит три вкладки: (1) Опи-
сание, содержит информацию с
описанием проекта, Фото в од-
ном окне, можно просматривать
swipe; содержит карту с адресом
проекта (2) реализация, где со-
держится вся информация по
ходу реализации проекта, загру-
жаемая Исполнителями (3) ис-
полнители
16
9 Комментарии к Назначение:
проекту Пользователь видит все комментарии
(подгружаются при прокрутке) других
пользователей относительно данного
проекта и может оставить свой коммен-
тарий
Функционал:
1. Содержит информацию по ком-
ментариям других пользовате-
лей
2. Содержит поле для ввода
информации
3. Кнопка «Отправить»
10 Задать вопрос Назначение:
Пользователь может отправить сообще-
ние
Функционал:
1. Содержит поле для ввода инфор-
мации
2. Кнопка «Отправить»
3. Выпадающий список с категори-
ями вопроса
Функционал:
1. Кнопка «Проекты»
2. Кнопка «Наши проекты»
3. Кнопка «Задать вопрос»
4. Кнопка «О нас»
5. Кнопка «Юридические доку-
менты»
17
12 Статистика Назначение:
Пользователь видит статистику по всем
проектам
Функционал:
1. Содержит график по количеству
пожертвоваший в разрезе
недель
2. Содержит информацию по всем
пожертвовавшим на проект
пользователям
13 О нас Назначение:
Пользователь видит информацию по
проекту Project-C
Функционал:
Содержит поле для ввода информации
18