Тестовое задание: модуль `factory_bridge` (Drupal + SQLite)

Стоимость:800 рублей
Срок выполнения:2 дня
Варианты оплаты:По договоренности
Дата публикации:2026-01-16 10:36
Обновлено:2026-01-21 14:43
Был на сайте:2026-01-22 10:20

Тестовое задание: модуль `factory_bridge` (Drupal + SQLite)

 
Задача

## 1. О проекте и мотивации

Мы переносим производственную систему учёта (изделия, операции, рабочее время) на **Drupal**.
Сейчас данные хранятся во внешней **SQLite-базе**, в будущем **Drupal должен стать основной системой** хранения, расчётов и отображения данных.

Тестовое задание — **реальная часть будущего проекта**, а не учебный пример.
По его результатам мы выбираем разработчика для **долгосрочной работы** над системой.

---

## 2. Коротко и простыми словами

Если совсем просто:

Есть старая система на SQLite и есть Drupal.
Нужно написать модуль, который **регулярно переносит данные из SQLite в Drupal**, считает показатели план/факт и показывает их в виде отчёта.

* SQLite — источник данных (только чтение)
* Drupal — монитор и будущий центр системы
* Обновление данных — **по cron**, а не при открытии страниц

---

## 3. Общая структура задания

1. Подключение к SQLite через Drupal Database API
2. Импорт данных из SQLite (ограниченный набор таблиц)
3. Расчёты план / факт / де...

Видеть полную информацию и оставлять заявки могут только авторизованные пользователи.

Оптимизировано и агрегировано ИИ:

Мы ищем разработчика для создания модуля `factory_bridge` в Drupal, который будет регулярно переносить данные из внешней SQLite базы данных в Drupal. Модуль должен подключаться к SQLite через Drupal Database API, импортировать данные об изделиях и операциях, выполнять расчёты план/факт/дельта на стороне PHP, сохранять результаты в базе данных Drupal и отображать отчёты в виде таблиц. Обновление данных должно происходить по cron, а не при открытии страниц. Важно, чтобы архитектура решения была корректной и соответствовала требованиям. Для выполнения этого задания потребуются навыки работы с Drupal (версии 10 или 11), включая создание модулей и работу с Drupal Database API, а также опыт работы с SQLite. Необходимы знания PHP для выполнения бизнес-логики и расчётов, а также понимание работы cron задач. Навыки работы с Twig будут полезны для отображения данных.
Для подачи заявки на участие в задании Вам нужно авторизоваться
Здравствуйте! Ознакомился с техническим заданием. Задача мне полностью понятна: это классический процесс построения ETL-слоя (Extract, Transform, Load) внутри Drupal для миграции данных из legacy-системы в современную архитектуру. Имею большой опыт работы с Drupal Database API и созданием кастомных сущностей.
Так получилось, что основной стек для меня - это Java 1.8(11) + Spring Boot для Backend и Java для Android. Работаю на языке Java 4 года(еще в школе впервые с ним познакомился и влюбился на всю жизнь), python - 2 года, node.js - 2 года, Kotlin - 2 года, php - 1,5 года, React.js - 2 года. Все мои работы находятся здесь: https://github.com/povilas1565. Мой ТГ: @Paulo156551. Поэтому резонно, что я делаю почти все на Java(Kotlin) и Python и Node.js. Также занимаюсь разработкой простых сайтов на React и статическом html,css,js. Также работаю на C# и React Native, а также Flutter. Занимаюсь профессиональной публикацией и выгрузкой приложений в google play. Также являюсь штатным тестировщиком с опытом в 2,5 года в компаниях Tech Usta и Active Computers. Я собаку съел на автотестах и мануал -тестах. Автотесты преимущественно через Postman, мануал-полный анализ и использование консоли разработчика на полную. Сделаю все быстро и четко. Я на протяжении года разрабатывал Android- приложения в компании Nomadic Soft под сферу гемблинга (букмекерские конторы, онлайн-казино и т.д.) на Flutter и Kotlin. Как раз ровно год последний занимался разработкой приложений под гемблинг в компании Nomadic Soft. Готов сделать данную работу как можно быстрее. Готов заключить контракт
Модуль factory_bridge - это мост между старой производственной системой на SQLite и новой системой на Drupal. Он регулярно импортирует и агрегирует производственные данные, рассчитывает ключевые показатели (план/факт/дельта) и сохраняет их в Drupal для последующего отображения в виде отчётов.
1. Модуль factory_bridge обеспечивает автоматизированный перенос и синхронизацию производственных данных из внешней SQLite-базы (workshop_bot.db) в Drupal, где эти данные агрегируются, рассчитываются ключевые показатели (плановые и фактические трудозатраты, дельта) и сохраняются для дальнейшего анализа и отображения. Таким образом, модуль превращает Drupal в основной центр хранения, расчётов и мониторинга производственных процессов, обеспечивая плавный переход от старой системы к новой без потери данных и с возможностью регулярного обновления информации
2. Модуль получает из SQLite только данные из трёх таблиц:
order_items - изделия (продукция, над которой ведётся учёт);
assigned_tasks - операции (технологические этапы или задачи, связанные с изделиями);
work_sessions - рабочие сессии (учёт времени работы по операциям).
Из этих таблиц извлекаются:
идентификаторы изделий и операций,
плановые нормы времени (applied_norm_hours),
фактические интервалы работы (разница между end_time и start_time для завершённых сессий),
и другая необходимая информация для расчёта показателей по каждому изделию и операции
3. Импорт и обновление данных выполняются только по расписанию через cron (стандартный механизм Drupal или отдельная cron-задача модуля).
При каждом запуске cron модуль:
Подключается к SQLite через централизованный сервис на базе Drupal Database API;
Читает новые и изменённые данные из указанных таблиц;
Выполняет все необходимые расчёты (план, факт, дельта) на стороне PHP;
Сохраняет агрегированные результаты в сущности Drupal (например, в кастомной content entity);
На страницах Drupal отображаются только уже сохранённые данные — никаких прямых запросов к SQLite или пересчётов при открытии страниц не происходит.
Евгений Ратников
Основная специализация: Веб-разработка и Продуктовый дизайн
Здравствуйте. Меня зовут Евгений. Опыт в программировании - 12 лет. Готов реализовать данный проект. Мои контакты:
+375259058217 (WhatsApp, Telegram)
eratnikstudio@gmail.com

Ответы на вопросы:
Модуль factory_bridge — это переходный мост, который переносит данные из старой системы (SQLite) в новую (Drupal), чтобы постепенно перейти на Drupal как основную систему.

Что делает модуль:
1. Собирает данные из трёх таблиц SQLite: изделия (order_items), операции (assigned_tasks) и фактическое время работы (work_sessions).
2. Считает показатели (план/факт/дельта) на PHP, используя плановые нормо-часы и фактическое время работ.
3. Обновляет данные в Drupal по cron — раз в несколько часов в фоне, а не когда пользователь открывает страницу.

В итоге: Модуль показывает готовый отчёт в Drupal из уже сохранённых данных, чтобы страницы открывались быстро.
Готов разработать модуль factory_bridge для Drupal с полным соблюдением требований.
20:52 19.01.26
Для точной оценки и корректной реализации уточните:
Требования к сущности изделия: нужно ли создавать Node type или достаточно Custom Entity? Какие поля должны быть у сущности помимо расчётных данных (название, код, статус и т.д.)?
Как обрабатывать ситуации, когда у операции несколько рабочих сессий? Суммировать все завершённые сессии?
Нужна ли дополнительная логика: фильтрация по датам, учёт перерывов, исключение определённых типов операций?
Какая периодичность обновления данных оптимальна (ежечасно, раз в день)?
Нужен ли интерфейс администратора для ручного запуска импорта?
Как выбирается изделие для отчёта (по ID, через фильтр, последнее обновлённое)?
Нужна ли пагинация/фильтрация если операций много?
Есть ли примеры SQL-запросов для выборки данных из SQLite?
Нужна ли обработка ошибок подключения/импорта с уведомлениями?
Модуль factory_bridge обеспечивает интеграцию данных из SQLite в Drupal, включая импорт, расчёты план факт дельта и отображение отчётов для производственной системы учёта.

Данные из таблиц order_items (изделия), assigned_tasks (операции) и work_sessions (рабочие сессии).

Обновление происходит автоматически по cron; страницы используют только сохранённые данные.
Adam Coon
Основная специализация: ИТ и Разработка
    Здравствуйте. Пишите. Сделаю.
    Здравствуйте я готова вам помочь

    Примеры моих работ

    Копирайтинг
    16:43 21.01.26
    Скажите, что надо делать
    Здравствуйте! Ознакомился с ТЗ на создание модуля интеграции. Мой подход базируется на создании расширяемой архитектуры, соответствующей стандартам Drupal (Coding Standards).

    Суть предложения: Я предлагаю реализовать модуль factory_bridge как сервис-ориентированное решение. Данные из SQLite будут агрегироваться в Drupal через Custom Entities, что обеспечит максимальную производительность и гибкость в будущем (поддержка ревизий, прав доступа и сложных отчетов через Views).

    Ответы на обязательные вопросы:

    Задача: Создание ETL-слоя для переноса данных из изолированной SQLite в Drupal с предварительным расчетом производственных метрик.

    Данные: Изделия (order_items), плановые показатели (assigned_tasks) и фактическое время из сессий (work_sessions).

    Обновление: Регулярно по Cron. PHP-сервис забирает данные, вычисляет дельту и сохраняет результат в Drupal. Страницы отображают уже готовые данные из БД Drupal без обращения к внешним файлам.

    Технические детали:

    Подключение внешней БД через $databases в settings.php (Drupal Database API).

    Логика расчетов вынесена в отдельный сервис (factory_bridge.calculator).

    Хранение агрегированных данных: Content Entities (лучше, чем Node, для чистого учета).

    Альтернативные варианты (на обсуждение):

    Queue API: Если данных станет много, перенесу импорт в очереди, чтобы Cron не «падал» по таймауту при расчетах больших объемов.

    State API / Key-Value: Для хранения меток времени последнего успешного импорта, чтобы обрабатывать только новые сессии (инкрементальный импорт), а не пересчитывать всё с нуля.

    Views Integration: Вместо жестко заданного шаблона таблицы, я могу пробросить данные в модуль Views — это позволит вам в будущем менять структуру отчета (фильтры, сортировки) через админку без правки кода.

    Настроен на долгосрочное сотрудничество. Готов приступить к реализации тестового задания сегодня.
    Здравствуйте! Готов выполнить за 1 день, опыт в Drupal и SQL большой.

    Оставлять заявки могут только авторизованные пользователи.