Необходимо построить админ панель по управлению содержимым справочников (контентом), которые импортируются из внешних источников и требуют регулярной синхронизации с ними. Тематика контента - туристическая.
Количество источников - неограниченно, справочников - тоже, каждый из которых может отличаться по формату (количество полей) от остальных. Типы данных в справочниках: id, текст, изображения, булевые значения. Авторизация каждого из источников может отличаться друг от друга, но, в большинстве своем используется доменное имя + токен.
Для разработки желательно использование готовых фреймворков backend и frontend (если есть затруднения в выборе фреймворка, его предложит заказчик).
Панель должна позволять в GUI (т.е. без модификации бэкенда) выполнение следующих основных функций:
* подключение нового источника;
* отображение справочников у подключенного источника;
* отображение полей по каждому справочнику;
* настройку используемых полей для импорта;
* отображение новых импортированных данных;
* отображение изменений на стороне подключенного источника как в списке справочников, так и в структуре данных, а также - изменение самих данных;
* создание внутренних (собственных) справочников и их привязка к любому импортированному извне справочнику для выполнения сопоставлений данных;
* предоставление своих АПИ-методов для поиска по уже существующим сопоставлениям (собственные справочники и импортированные);
Помимо функционала по управлению контентом, необходимо написать ряд парсеров, которые будут загружать данные в систему из xml формата.
Часть функций должна выполняться автоматически, согласно настраиваемой в админпанели периодичности.
От заказчика (после подписания NDA):
* Детальное ТЗ, включая мокапы всех необходимых форм в админпанели.
* Консультирование онлайн по возможным вопросам.
* Доступ в JIRA для декомпозиции задач, мониторинга прогресса, баг трекинга.
* Доступы к тестовым и продакшн API источникам для подключения.
От исполнителя:
* Понимание задач проекта
* Декомпозиция задач в JIRA
* Оценка заведенных задач
* Разработка с учетом масштабирования и роста нагрузки в будущем
* Отображение статуса, bugs fixing
* Публикация на продакшн
Формат работы:
* Фаза feasibility:
- Подписание NDA.
- Ознакомление с ТЗ.
- Заведение задач в JIRA (степень детализации - не более 4 часов; если задача требует на реализацию более 4-х часов, ее следует разбить на несколько подзадач).
Если по декомпозиции задач и вопросам заказчику становится очевидным непонимание исполнителем предметной области и задач проекта, сотрудничество прекращается. Затраты не компенсируются.
* Фаза development:
- Разработка согласно согласованных milestones (sprints) в JIRA.
Оплата - по каждому выполненному milestone (sprint) пропорционально доли его времени в общей длительности проекта. Если несогласованная задержка с заказчиком превышает 10% от согласованной ранее оценки - удержание 1% в день от стоимости задержанного milestones (sprints).
* Фаза deployment & documentation:
5% от бюджета проекта.
Предполагаемый бюджет:
$1,000
Предполагаемая длительность:
4 недели, не включая фазу feasibility
Дальнейшие шаги (вне рамок текущего проекта, оговаривается отдельно):
* Первичная поддержка панели (3-5 мес) по отдельно согласованной цене.
* Внесение изменений по отдельно согласованной цене.
Оцениваемый период дальнейшего расширения функциональности - около 1 года.