Программирование на заказ

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта
Главная Новости Разработано ТЗ на доработку сайта


Разработано ТЗ на доработку сайта

E-mail Печать

Для основного сайта благотворительного фонда требуется дополнительный раздел, где интернет-спонсоры смогут персонализировать свой платеж, т.е. пожертвовать конкретному детскому учреждению или конкретному ребенку. Для создания этого раздела было разработано техниеское задание на доработку сайта. Ниже, для ознакомления представлена часть этого ТЗ.

ТЕХНИЧЕСКОЕ ЗАДАНИЕ
на разработку web-модуля персонализации
благотворительного пожертвования


1.   Общие сведения
1.1 Модуль представляет собой дополнительный код для сайта www.... (далее – основной сайт) , предназначенный для адресного пожертвования денежной суммы конкретному детскому учреждению или конкретному ребенку. В настоящий момент на сайте существует работоспособная система пожертвования, но без указания адресата.
1.2 Сайт написан на системе NetCat, версии ..., контакты разработчика сайта предоставляются, также предоставляется полная копия сайта для разработки модуля.
1.3 Реализация данного модуля подразумевает привлечение как минимум специалиста web-разработчика и специалиста системного администратора. Ниже разделы ТЗ имеют пометку, какому из специалистов они адресованы.

2.    Интерфейс и функционал модуля (web-разработчику)
2.1 Модуль должен быть расположен на поддомене сайта (например payment.....ru), вход на главную страницу модуля осуществляется по ссылке с главной страницы основного сайта  www.....ru.
2.2 Примерный вид главной страницы модуля представлен ниже, на рисунке 1.

 доработка сайта ТЗ
Рис.1. Схематичный вид главной страницы

 2.3 Данные в главную страницу модуля берутся из базы данных Fond на сервере MySQL. Параметры доступа к серверу и базе данных web-разработчик получает от Системного администратора. На этапе разработки Web-разработчик пользуется тестовым сервером, организованным самостоятельно.

2.4 Шапка и подвал страницы выполняются идентичными таким же элементам на основном сайте. 
Область выбора Города из списка должна содержать окно для ввода наименования города и список всех городов, из которых возможен выбор. При вводе наименования города в  поле он автоматически выбирается в списке, если существует там. Невозможно ввести город, которого нет в списке городов. Список городов загружается из таблицы City базы Fond. Невозможно перейти к следующим окнам и спискам, не выбрав город, существующий в списке. В списке можно указать только один город, при его указании он отображается в поле ввода города.
Область выбора Детского учреждения (ДУ) из списка должна содержать список всех ДУ выбранного города.  Невозможно перейти к следующим окнам и спискам, не выбрав ДУ, существующее в списке. Список ДУ загружается из таблицы Home базы Fond. Причем отображаются лишь те ДУ, в которых есть хотя бы 1 не выбывший ребенок (таблица Children).
Внимание! Область выбора детей (описание ниже) должна иметь возможность скрытия. Например, через конфигурационный файл на сайте. Т.е., если в конфиг. файле стоит – «отключить» область выбора детей, то эта область не отображается на сайте и не заполняется вообще. Если стоит «включить» – область отображается.
Если область выбора детей не отображается, то в области выбора детского учреждения должно быть отображено поле «сумма платежа»
Область выбора детей из списка должна содержать список всех невыбыших и не подписанных в текущем году (не связанных ни с одним взносом за текущий год через таблицу CashForChildren) детей из выбранного выше ДУ.  Список детей загружается из таблицы Children базы Fond. В списке должны быть отображены Номер в базе (ID), ФИО, день рождения, диагноз.  Невозможно перейти к следующим окнам и спискам, не выбрав хотя бы одного ребенка. Допустим выбор нескольких детей. Такжев этой области должно отображаться справочно – сумма комплекта книг для подписки одного ребенка. Она берется из …
Область отображения параметров платежа должна содержать
- нередактируемую графу Кому: через запятую город, полное наименование ДУ, ФИО всех выбранных детей;
- нередактируемую графу Платеж: сумма платежа, равная текущей стоимости комплекта, помноженной на количество выбранных детей. Текущая стоимость комплекта книг берется из….
- редактируемые, обязательные к заполнению поля: От кого (ФИО или наименование юрлица), телефон (ввод только цифр), поле-галку «Ранее делали пожертвования детям через наш фонд?» и необязательное к заполнению поле Email.
 Область выбора платежной системы должна быть подобной той, которая реализована на основном сайте.
Область капчи должна быть содержать простую капчу, вид которой согласовывается с заказчиком..
После выбора платежной системы, ввода капчи и нажатия кнопки перейти к оплате пользователь должен попадать на страницу платежа (см схему на рис. 2)

2.5 Страница платежа представлена на рис. 2. Шапка и подвал аналогичны таким же элементам на основном сайте.
Область отображения параметров платежа должна содержать
- нередактируемую графу Кому: через запятую город, полное наименование ДУ, ФИО всех выбранных детей;
- нередактируемую графу Платеж: сумма платежа, ( Если отобажалась область выбора детей – то равная текущей стоимости комплекта, помноженной на количество выбранных детей, если область выбора детей не отображалась, – то равная значению поля «сумма платежа» из области выбора ДУ) . Текущая стоимость комплекта берется из….
- нередактируемую графу: «От кого:» , где через запятую перечислены: ФИО или наименование юрлица, телефон (только цифры), Email.
- информация для конкретной выбранной платежной системы (смотри ее на страницах платежа в основном сайте, где-то это просто реквизиты, где-то это поля «сумма» и «комментарий» и т.п.);
- кнопку «Сделать благотворительный взнос».
Область записи ВНИМАНИЕ! должна содержать запись, которую возможно редактировать администратору сайта. Предназначена она для сообщения благотворителю ванной информации по платежу, способа проверки прохождения платежа или т.п.
Если выбрана платежная система, где в области параметров платежа должна быть введена сумма и комментарий, то сумма сразу должна быть заполнена ранее высчитанной суммой платежа, а комментарий должен быть автоматически заполнен в виде [все данные от кого+слово «Кому:»+через запятую ID всех выбранных детей+ «Ранее жертвовал»+да или нет в зависимости от поле-галки «Ранее делали пожертвования детям через наш фонд?»].

2.6 При нажатии кнопки «Сделать благотворительный взнос» делаются действия:
- создаются записи в базе Fond, перечисленные ниже, в п 2.7;
- осуществляются действия для конкретной платежной системы, как и на основном сайте.

Доработка сайта 

Рис.2. Схематичный вид страницы платежа


2.7    Для сохранения параметров платежа в базе Fond создаются следующие записи (если область выбора детей отображена):

Таблица  Sponsors
Если в таблице не существует спонсор с наименованием (Title) = Сайт, то создается такой спонсор – ID=следующий незанятый номер, Title=Сайт, DateInput=Дата ввода
Таблица Cash
Создается запись о новом платеже ID=следующий незанятый номер, ID_Sponsors=ID спонсора «Сайт», DateCash=дата взноса(текущая дата); Summ=сумма взноса; SetCost=текущая стоимость комплекта.  Текущая стоимость комплекта берется из... SetCount=количество выбранных детей, YearCash год подписки (устанавливать текущий), Additional = текст комментария [все данные от кого+слово «Кому:»+через запятую ID всех выбранных детей+ «Ранее жертвовал»+да или нет в зависимости от поле-галки «Ранее делали пожертвования детям через наш фонд?»], DateInput=текущая дата.
Таблица  Cashforchildren
Создаются одна или несколько (по одной на каждого выбранного ребенка) записи-связки детей с добавленным взносом. ID=следующий незанятый номер, ID_Children=номер ребенка в базе, ID_Cash=номер взноса.

Если область выбора детей скрыта:
Таблица  Sponsors
Если в таблице не существует спонсор с наименованием (Title) = Сайт, то создается такой спонсор – ID=следующий незанятый номер, Title=Сайт, DateInput=Дата ввода
Таблица Cash
Создается запись о новом платеже ID=следующий незанятый номер, ID_Sponsors=ID спонсора «Сайт», DateCash=дата взноса(текущая дата); Summ=сумма взноса; YearCash - год подписки (устанавливать текущий), Additional = текст комментария [все данные от кого+слово «Кому:»+Наименование выбранного ДУ + «Ранее жертвовал»+да или нет в зависимости от поле-галки «Ранее делали пожертвования детям через наш фонд?»], DateInput=текущая дата.

2.8 Описанные записи создаются в базе перед реальным проведением платежа, поэтому у пользователя сайта есть возможность пройти все этапы, но не внести фактически деньги через платежную систему. Такие факты (когда записи созданы, но деньги не пришли) не отслеживаются сайтом по причине невозможности. Отслеживание таких фактов должны вести операторы базы Фонд в офисе благотворительного фонда. Инструменты для такого отслеживания и инструкции разрабатываются работниками офиса.

2.9 Страница благодарности. После оплаты через платежную систему выводить страницу с благодарностью за взнос.

2.10 Реализация платежа через WebMoney на модуле должна отличаться от той, которая сейчас сделана на основном сайте. Необходимо не просто написать номера кошельков для пожертвований, а реализовать интерфейс, отсылающий на авторизационную форму WebMoney после ввода суммы и комментария.


3. Технические средства обеспечения работоспособности модуля (системному администратору)

... (далее текст скрыт)

4. Требования к дизайну и элементам интерфейса (web-разработчику)

... (далее текст скрыт)

Приложение 1. Структура таблиц базы данных Fond

... (далее текст скрыт)