Я указал примерную цену. Я не знаю сколько усилий нужно приложить чтобы выполнить проект, поэтому не знаю сколько это стоит. Оцените проект самостоятельно в ставке хотя бы примерно
Есть 3 сайта связанных со спортивной ассоциацией. Нужно сделать для них единый личный кабинет.
Прошу ознакомиться с ТЗ и задать интересующие вопросы для уточнения деталей.
Тз:
1. Регистрация пользователя.
На сайте разместить кнопки регистрации в личном кабинете с функциями: зарегистрироваться (для вновь прибывших), войти (если регистрация уже имеется). Вход осуществляется по введенному логину и паролю. Так же стоит добавить captcha или подтверждение входа через разовый смс код. При первичной регистрации добавить письмо с ссылкой на окончательную регистрацию на указанную при регистрации почту. Это нужно для защиты от фейковых регистраций.
Данные необходимые для первичной регистрации на сайте (все поля обязательные к заполнению):
1.1. Фамилия (Русскими или английскими буквами, с обязательной заглавной первой буквой, даже если участник ввел всё caps lock`ом или с маленькой буквы. Система должна это поправить автоматически. В случае составной фамилии, она должна писаться через дефис (-), либо он должен автоматически проставляться, если участник вводит два и более значения фамилии через пробел)
1.2. Имя (те же требования что и к фамилии).
1.3. Пол (Женщина или Мужчина)
1.4. Дата рождения (в формате дд.мм.гггг)
1.5. Адрес электронной почты (строго английскими буквами не заглавными, без знака @ почту не принимать)
1.6. Телефон (в формате + и далее код страны. Можно заранее заготовить разграничение для более удобного ввода номера, например +_(___)-____-_____)
1.7. Страна. (только из всплывающего списка)
1.8. Город. (только из всплывающего списка). Город, кроме федеральных городов Москва, Спб, Севастополь и иностранных городов – должны отображаться в формате Город/Область. Список городов и областей для загрузки на сайт предоставлен отдельно. В случае, если такого населенного пункта в этом справочнике нет, участнику высвечивается окно с предложением указать ближайший населенный пункт районного или областного значения. Более точный почтовый адрес, можно будет указать в личном кабинете при заполнении персональных данных. Списки городов аналогичный используемой программе Powergage в (приложении 1 «Список по городам_областям_странам»)
1.9. Галочку «Я даю согласие на обработку своих персональных данных согласно ФЗ №152-Ф3. (без этого регистрация проходить не должна).
Вот пример того, как это реализовано на сайте СПР сейчас: http://russia-powerlifting.ru/30-documents/546-politika-zashchity-i-obrabotki-personalnykh-dannykh и http://russia-powerlifting.ru/30-documents/545-soglashenie-ob-obrabotke-personalnykh-dannykh
После подтверждения регистрации на сайте по переходу по ссылке, отправленной в письме на адрес, указанный при регистрации, участник попадает в личный кабинет на сайте.
В случае попытки регистрации участника с аналогичными данными по пунктам 1.1; 1.2; 1.3; 1.7 – регистрацию не пропускать, а предлагать восстановить доступ к ранее зарегистрированному личному кабинету. При помощи отправки пароля на адрес ранее указанной электронной почты или, что лучше, по средствам подтверждения действия разовым смс кодом, высланным на телефон.
Если участник забыл пароль, то процесс его восстановления так же необходимо осуществлять через смс код на телефон (временный пароль, случайное число) с последующей его заменой на постоянный пароль от кабинета. При введении нового пароля, просить его повторить дважды.
2. Функции личного кабинета
Все функции по редактированию личного кабинета, включению или отключению различных активных кнопок, загрузке справочников, должны быть доступны администратору сайта.
2.1. Отображение личных данных участника, данных о его заявках
2.2. Подача онлайн заявки на турнир
2.3. Подача заявки на присвоение звания
2.4. Подача заявки на рекордный сертификат
2.5. Подача заявки на судейский сертификат
2.6. Сбор и хранение статистических данных по каждому участнику, зарегистрированному в личном кабинете.
2.7. Возможность в будущем добавлять какие-то заявки или функции на основе данных из личного кабинета и данных из онлайн заявок.
3. Общий вид страницы личного кабинета:
3.1. Фото участника (если есть), сверху слева.
3.2. Личные данные из пунктов, заполненных при первичной регистрации. Справа от фото в том же порядке.
3.3. Текущий профиль участника, какие поданы заявки на турниры, документы, тесты. Степень их обработки или готовности. С возможностью редактирования. В этом поле должны отображаться:
3.3.1. Заявка на турнир в формате:
* Наименование турнира полностью с датой
* Дивизион выступления (составное значение из версии+вид+дивизион+допинг котроль.
* Возрастная категория
* Весовая категория
* Страна/Город
* Тренер
* Достижения
* Редактирование заявки
Если спортсмен указал несколько дивизионов в одном турнире – тогда они должны быть перечислены по порядку после наименования турнира, каждый с новой строки. А само наименование турнира выделено более жирным шрифтом.
Если турниров несколько, первым отображается турнир более ранний по дате проведения.
При желании участника отредактировать заявку, поменять/добавить дивизион, весовую категорию, команду для выступления в текущем турнире, должна быть
доступна кнопка редактирования данных. Кнопку лучше расположить на каждый отдельный турнир, после окончания перечисления всех заявок участника на этот турнир. При этом, участник должен переноситься на страницу подачи онлайн заявки на данный турнир. Если есть возможность, пусть данные остаются уже заполненными в их изначальном виде, чтобы участник не вводил заново кучу данных ради изменения скажем одной возрастной категории только.
После внесения изменений в заявку текущего турнира, старые данные удаляются и замещаются новыми. Об этом стоит сделать предупреждение при подтверждении внесения изменений. Все изменения, равно как и первичная подача заявки, должна завершаться введением защитного кода captcha.
3.3.2. Статус поданных заявок и запросов, помимо заявки на соревнования. (Пока оставляем на вторую очередь работ)
Заявка на оформление спортивного звания или рекордного сертификата:
* Название заявки (Заявка на звание или заявка на сертификат)
* Дата подачи заявки на сайте
* Степень готовности. Здесь нужен отдельный доступ и инструмент для того, кто эти заявки принимает и обрабатывает
* Дата отправки и трэк или данные для получения
3.3.3. Активные кнопки для работы с разными функциями кабинета:
* Подача онлайн заявки для участия в соревнованиях.
* Подача онлайн заявки для оформления спортивного звания.
* Подача онлайн заявки на оформление рекордного сертификата.
* Сдача теоретического теста на судейскую категорию.
* Подача онлайн заявки на оформление судейского сертификата и судейского поло.
* Сбор статистических данных и показ их пользователю.
* Информация о статусе его запроса или заказа.
* Обратная связь.
* Редактирование данных своего профиля.
4. Онлайн заявка на соревнования
4.1 Заявка на турнир должна подаваться только от зарегистрированного участника в личном кабинете на сайте.
4.2 Один и тот же участник не может дважды подать заявку на выступление в одинаковом дивизионе.
4.3 Исключением является только редактирование уже поданной заявки с целью корректировки данных. То есть, если участник уже подал заявку на данный турнир ранее и подает её повторно, например в другой дивизион, он должен подтвердить и актуальность предыдущей заявки. Такие действия должны проводится через меню редактирования заявки пункт 3.3.1. Или, если через кнопку онлайн заявки участник и выбирает турнир, который у него уже значится в заявках поданных ранее, должно выходить меню с уже заполненными ранее данными (полями) и после заполнения новой заявки или корректировки старой, должна быть предупреждающая надпись с постановкой галочки о согласии: «Подтвердите актуальность предыдущей заявки, если
вы не собираетесь или сомневаетесь в участии в соревнованиях, в том или ином дивизионе, пожалуйста отмените эти заявки, оставив наиболее актуальную на данный турнир. Пожалуйста всегда редактируйте свою заявку до актуального состояния, это необходимо для корректного расчета регламента турнира, количества наградной атрибутики, удобства всех спортсменов участвующих в турнире». Далее кнопка «Сохранить». При этом старые заявки (данные) замещаются новыми значениями. Заявки до редактирования сохранять не нужно.
4.4 Доступность полей для выбора участником, в каждом конкретном турнире, должна быть ограничена при создании турнира в модуле заявок администратором. Список переменных необходимых для назначения при создании турнира в таблице 1 «Список значений для модуля онлайн заявки».
4.5 Список действий пользователя:
* Регистрация на сайте или вход в личный кабинет
* Выбор кнопкой «Онлайн заявка на участие в соревнованиях» или «Редактировать» если заявка на данный турнир подана. Данные из пунктов 1.1 – 1.8 в той же последовательности должны подгрузиться автоматически.
* Выбор дивизиона выступления
* Выбор возрастной категории.
* Выбор весовой категории
* Если необходимо, дальнейшее добавление дивизиона выступления, нажатием кнопки «Добавить дивизион выступления»
* По окончании нужно поставить галочку в двух местах:
o «С Техническими правилами проведения соревнований по данной версии, а также с Положением о турнире – ознакомлен»
o «Я даю согласие на обработку своих персональных данных согласно ФЗ №152-Ф3. (без этого регистрация проходить не должна). Вот пример того, как это реализовано на сайте СПР сейчас: http://russia-powerlifting.ru/30-documents/546-politika-zashchity-i-obrabotki-personalnykh-dannykh и http://russia-powerlifting.ru/30-documents/545-soglashenie-ob-obrabotke-personalnykh-dannykh
Далее ввод защитного кода из СМС или Captcha и сохранение данных. После этого участнику, на указанный email приходит письмо с текстом: «Ваша заявка на (название турнира) принята. Обновленную номинацию вы можете посмотреть здесь (ссылка на место, где закреплена номинация на данный турнир).»
5. Выгрузки, статистика
Выгрузки данных должны быть доступны администратору сайта. Лучше всего сделать какую-то панель управления такими выгрузками, с кнопками для администратора. Некоторые выгрузки должны быть доступны не только администратору сайта, например выгрузка файла CSV для программы ведения соревнований. Такие выгрузки должны даваться определенным пользователям по ссылке. Например: наш региональный представитель должен иметь в любое время доступ к выгрузке данных по участникам для своего турнира. И в то же время, желательно, не иметь доступ к турнирам другим. Речь только о файле для программы.
5.1 Необходимо, по запросу выполнять импортирование заявок для программы проведения соревнований в формате CSV файла. Порядок его заполнения в приложении 2 «Выгрузка заявок в CSV формате для программы».
5.2 Необходимо создать автоматически (постоянно) пополняемую текстовую номинацию на сайтах федераций. На какой из сайтов нужно отобразить номинацию, можно выбирать при внесении заявки на соревнования в модуль заявок. Сайтов на данный момент 4, все они работают на платформе Wordpress. Нужно прописать экспорт заявок в формат, в котором она будет отображаться на сайте (разделе сайта), указанном при создании турнира в модуле заявок администратором. Такие номинации должны обновляться при каждом изменении в заявке участников. Порядок заполнения таких номинаций (порядок выгрузки) в приложении 3 «Выгрузка для номинации». Номинации должны быть в формате HTML страницы.
5.3 Статистика и выгрузка данных по прошедшим турнирам. При удалении турнира из модуля онлайн заявки, необходимо скачать файл с данными о заявках на этот турнир. Файл должен скачиваться автоматически при нажатии кнопки удалить турнир. Формат и наполнение такого файла в приложении 4 «Статистика по заявкам на турнир». Так же, каждая поданная заявка должна приходить на почту федерации в том порядке, в котором заполнялись поля участником.
ТЗ на онлайн заявку Личный кабинет:
Данный модуль нужен для создания администратором на сайте онлайн заявки на турнир. В нем мы должны иметь возможность выполнить:
* Название и дату турнира.
* Порядок расположения в списке турниров доступных к выбору на сайте.
* набор и изменение возможных к выбору параметров для онлайн заявки на данный турнир.
* путь куда будет выгружаться текстовая номинация в формате HTML
* удаление турнира с обязательной выгрузкой всех заявок поданных на него в установленном формате
Каждой федерации, представляемой нами, доступен уникальный набор дивизионов, возрастных и весовых категорий. При создании заявки на турнир это обязательно должно учитываться. При создании турнира мы задаем только значения:
* Выбор версии
* Выбор вида
* Выбор дивизиона
* Выбор допинг контроля (везде, во всех федерациях, видах и дивизионах, должен быть выбор «с допинг контролем» или «без допинг контроля». Его выбор должен стоять после выбора поля «Дивизион». Исключением является Версия WAF/САР, тут выбор Допинг контроля не нужен.
При выборе «С допинг контролем» - в поле значений для выгрузки номинаций, статистики, загрузки в программу должно попадать значение «с ДК»
При выборе «Без допинг контроля» - ничего добавлять к названию дивизиона выступления не нужно.
Остальные значения: возрастная категория, весовая категория выбираются уже непосредственно спортсменом при подаче заявки на турнир. Но их значения должны строго соответствовать выбранным выше параметрам. Список таких переменных в приложенной таблице 1 «Список значений для онлайн заявки»
Создание заявки должно проходить следующим образом:
* Кнопка «Добавить соревнование», вводим название турнира. Выполняем её размещение согласно дате по порядку в общем списке.
* Далее меню набора переменных. Все переменные при этом должны быть включены по умолчанию, редактирование начинаем со снятия галочек в тех полях, которые не нужны данному турниру. Необходимо сделать таким образом, чтобы, снимая галочку с поля «Версия» - следом снимались все галочки в полях «Вид», «Дивизион» и «Допинг контроль» - принадлежащих к этой версии. И далее, если снимаем галочку в значении «Вид» - далее убирались галочки в «Дивизионе» и «Допинг контроле» для данного вида.
* Если турнир, а таких большинство, проводится по нескольким версиям, то после добавления первой и заполнения всех её данных, должен быть выбор «Добавить еще версию» и так далее.
* Сохранение соревнования
* Назначение сайта (места на сайте) для отображения номинации этой заявки.
При необходимости редактирования названия турнира, назначения новых дивизионов, все прежние активные заявки, должны быть сохранены в том же виде.