Задача: Забезпечити коректний рендер текстових шарів з веб-додатку (https://сайт) в підсумковий відеофайл (webm VP9+alpha) з збереженням шрифтів, кольорів, таймінгів анімації та досягненням повної ідентичності клієнтському попередньому перегляду.
КОНТЕКСТ ПРОЕКТУ:
Фронтенд: React (Vite),
Бекенд: FastAPI,
Сховище: MinIO (S3-сумісне),
БД: PostgreSQL,
Контейнеризація: Docker, docker-compose,
Для локальної розробки використовується docker-compose.yml (карта проекту буде надана виконавцю).
Анімація текстових шарів реалізована через Staggerchildren в Framer Motion (ефект посимвольного появи тексту зліва направо). Колір тексту задається динамічно в залежності від вибраного шаблону листівки.
ВИМОГИ ДО РЕАЛІЗАЦІЇ:
Вивід: підсумковий файл формату webm (VP9 з альфа-каналом), частота - 30 FPS, роздільна здатність 1080х1920 px. Повна ідентичність попередньому перегляду текстових шарів (шрифти, кольори, таймінги, анімація) без втрати якості та ефектів анімації.
Процес: webm-файл генерується на бекенді і зберігається в папці сховища MinIO для подальшого етапу – загального рендерингу всіх шарів. Клієнту/користувачу на цьому етапі нічого не видається, конвертація текстових шарів повинна проводитися тільки після отримання веб-хука про оплату в онлайн-режимі без подальшого збереження на диску проміжних файлів (png-секвенцій та ін. супутніх матеріалів). Оплата імітується через тимчасову кнопку-тригер. Процес повинен бути автоматизований без використання сторонніх програм на сервері/локалці (Bodymovin в After Effects тощо) і без участі ручної праці. Все повинно працювати автоматично на бекенді за тригером – успішною оплатою. Час конвертації повинен займати в межах 30 секунд, очікувана вага webm-файла близько 50 mb.
Місце збереження файлу: повинно задаватися параметром або змінною середовища, щоб його можна було перенастроїти без зміни коду.
Гнучкість: Код повинен бути написаний універсально: нові кастомні шрифти з підтримкою казахської кирилиці повинні підключатися автоматично без необхідності правити логіку рендеру. Система повинна брати текстові параметри динамічно, а не «зашивати» конкретний файл в код.
Для відома: додавання нових шаблонів листівок і шрифтів вже реалізовано через адмін-панель. Внедряются з однієї кнопки автоматично і коректно без втручання в код.
ПЕРЕВІРКА РЕЗУЛЬТАТУ:
Скрипт після підключення до бойового сайту протягом 3-х робочих днів буде тестуватися шляхом використання 5 діючих і 3 нових шаблонів листівок, 5 діючих і 3 нових шрифтів, 5 варіантів довгого і короткого тексту з казахською кирилицею. Робота буде вважатися виконаною тільки після повного відповідності результату з вищезазначеними вимогами до реалізації.
Пропонуйте Ваш бюджет і терміни. Кандидатів прошу відразу описати якими інструментами буде вирішуватися задача.