Разработка веб-части онлайн-сервиса

Петр19 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
03.07.2011

Цель: разработать удобную систему для пользователей, которая будет взаимодействовать с фермой (удаленный программный комплекс).

Сервис содержит три зоны: публичную, доступную всем; пользовательскую, доступную зарегистрированным пользователям и административную.

Сервис представляет из себя платную систему по обфускации программных разработок пользователей: html, java, javascript, coff pe, sys, pdf.

Сама обфускация происходит на ферме (сервер), реализовать необходимо клиентскую часть (веб).

Ниже находится краткое описание, которое позволяет оценить сложность подобной разработки.

Список функиональности, подлежащей реализации:

1. Авторизация.

Авторизация происходит по ключам (файл ключей; генерируется автоматически для каждого нового пользователя и представляет из себя файл с информацией о пользователе, дату активации, срок действия ключа, есть примеры кода от другого проекта).

2. Административная зона.

а. Добавление новых пользователей в систему, активация (или деактивация) уже добавленных, редактирование существующих пользователей, удаление, редактирование баланса (добавить, уменьшить);

б. Статистика со следующими разрезами: посмотреть количество обфусцированных файлов на дату, дата выбирается из месяца рутем клика на число месяца (если в данный день сервис не использовался -- не выделять), календарь в статистике расширен с 01 января до текущей даты); статистика по датам: какой пользователь больше работает с сервисом; в какое время больше всего работают (время суток и дата, день недели);

в. Управление настройками сисемы;

г. Управление новостями (добавление, удаление, редактирование в удобном виде WYSIWYG любой адекватный)

д. Управление тарифами (создать новый тариф, редактировать, удалить);

е. Управление контентом страниц (текстовый, графический контент, возможность создавать новые страницы, редактировать и удалять существующие);

ж. Возможность создать рассылку всем пользователям (или выбранным) на e-mail'ы промо-текстов;

з. Редактирование акций и скидок (на группу пользователей может распространяться скидка, редактирование группы пользователей, редактирование скидок);

и. Возможность использования реферальной программы (от 0 до 100 процентов реферальных, 0 - выключить реферальную программу);

3. Регистрация нового пользователя.

Ввод капчи, заполнение необходимых полей (имя пользователя, выбор тарифа и прочие), генерация файла-ключа для входа в систему;

4. Работа зарегистрированного пользователя в системе.

Выбор действия, обфускация (аплоад файлов на ферму, ожидание ответа, отдать обфусцированный файл пользователю);

Пополнение баланса, смена тарифов, просмотр пользовательской статистики, реферальная программа;

5. Интеграция с платежными системами: необходимо интегрироваться с WebMoney и Робокассой. API, равно как и документация, в наличии.

6. Протокол работы с фермой

Ферма - основная часть ПО, расположенная территориально на другом сервере, с которой работает веб-часть сервиса.

Протокол передачи файлов данных с веб-сервера на ферму.

JSON.

{

"userName": "bL4ck kn1gh7",

"userId": 20394,

"fileMetaData": {

"fileType": "dll",

"md5": "c9020bf78f5f569c8183cb4d6d190b68",

"action": "obfuscate"

},

"fileData": [

]

}

где

* userName — это имя пользователя;

* userId — идентификатор пользователя в каталоге /crypt;

* fileMetaData — описание метаданных файла;

* fileType — тип файла (exe, dll, js, java, pdf, html, asp, php);

* md5 — md5-хэш файла для создания пользовательских подкаталогов (/crypt/%userId/%md5/in/ и криптованные варианты в /crypt/%userId/%md5/out/);

* action — действие (обфусцировать, проверить, другие зарезервированные варианты действий);

* fileData — данные файла (сам файл) в base64.

7. Реферальная программа и скидки.

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

Этой информации достаточно, чтобы кандидат смог определить масштаб работ, получить более детальное ТЗ и начать работать.

Требования к кандидату: владение чистым письменным русском и свободное чтение документации на английском языках.

Знания PHP, БД, JSON и опыт работы в создании сервисов.

Срок разработки: две недели плюс тестирование.

Оплата: WMZ.

Заявки фрилансеров