Разработка функционала на Django

Цена договорная • безналичный расчёт, электронные деньги
25 сентября 2018, 22:01 • 12 откликов • 94 просмотра
Необходимо реализовать функционал создания, оплаты и обработки заказов на выставление платных статусов для вакансий или резюме на определенный период в соответствии с заданными тарифами.

Основные типы пользователей проекта (с доступом в личный кабинет):
  • Работодатель: размещает вакансии
  • Соискатель: размещает резюме
Работодатели привязаны к компаниям, то есть являются сотрудниками компании. Работодатели имеют три уровня доступа: неподтвержденный (только управление своим профилем), подтвержденный (управление вакансиями, просмотр описания компании и списка сотрудников) и административный (управление компанией и доступом сотрудников: подтверждение доступа, удаление из сотрудников и присвоение/отзыв прав администрирования).

Пользователи (кроме неподтвержденного работодателя) могут заказывать платные услуги. Платная услуга - это присвоение платного статуса определенной вакансии или резюме на конкретный срок (1, 2, 3 или 4 недели). Платные статусы могут выставляться только автоматически на основе информации об активности той или иной услуги. Платные статусы - это логические поля (флаги). Доступные платные статусы: “выделение цветом” (is_highlighted), “премиум-размещение” (is_premium) и “автоматическое продление” (is_autoupdated).

Сценарий работы со стороны работодателя выглядит так:

Сотрудник компании в списке вакансий жмет ссылку на установку одного из платных статусов вакансии, получает диалог с выбором срока (одна, две, три или четыре недели) с указанием стоимости (при различных сроках цена дня размещения платного статуса меняется). Далее после выбора срока в корзину отправляется новая позиция, например, “Выделение цветом вакансии Администратор зоны ресепшен на две недели” с соответствующей стоимостью. Таким образом, можно набрать несколько различных услуг и сформировать заказ, который затем должен быть оплачен. При оплате через платежную систему статусы должны оплаты выставляться автоматически, в иных ситуациях статусы будут правиться через систему администрирования.

Аналогично ситуация выглядит со стороны соискателя с той лишь разницей, что заказываются платные статусы резюме.

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

История изменения статусов заказов должна фиксироваться и должна быть доступна к просмотру в системе администрирования сайтом.

Необходимо реализовать механизм выполнения заказов, то есть набор скриптов и правил планировщика для обработки активных заказов и синхронизации соответствующих статусов.

Для интеграции оплаты подключаем Яндекс.Кассу в тестовом режиме.

Существующие модели вакансий, резюме, пользователей и компаний прилагаются.

Для проведения тестов необходимо реализовать:

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