ZADANIE:
Zapewnić poprawne przekształcenie warstw tekstowych z aplikacji webowej (https://sito) do końcowego pliku wideo (webm VP9+alpha) z zachowaniem czcionek, kolorów, czasów animacji oraz osiągnięciem pełnej tożsamości z podglądem klienta.
KONTEXT PROJEKTU:
Frontend: React (Vite),
Backend: FastAPI,
Magazyn: MinIO (zgodne z S3),
BD: PostgreSQL,
Konteneryzacja: Docker, docker-compose,
Do lokalnego rozwoju używany jest docker-compose.yml (mapa projektu zostanie dostarczona wykonawcy).
Animacja warstw tekstowych została zrealizowana za pomocą Staggerchildren w Framer Motion (efekt pojawiania się tekstu znak po znaku z lewej do prawej). Kolor tekstu jest ustawiany dynamicznie w zależności od wybranego szablonu kartki.
WYMAGANIA DOTYCZĄCE REALIZACJI:
Wyjście: końcowy plik w formacie webm (VP9 z kanałem alfa), częstotliwość - 30 FPS, rozdzielczość 1080x1920 px. Pełna tożsamość podglądu warstw tekstowych (czcionki, kolory, czasy, animacja) bez utraty jakości i efektów animacji.
Proces: plik webm jest generowany na backendzie i zapisywany w folderze magazynu MinIO do kolejnego etapu – wspólnego renderowania wszystkich warstw. Klientowi/użytkownikowi na tym etapie nic nie jest wydawane, konwersja warstw tekstowych powinna być przeprowadzana tylko po otrzymaniu webhooka o płatności w trybie online bez późniejszego zapisywania na dysku plików pośrednich (sekwencji png i innych materiałów towarzyszących). Płatność jest symulowana przez tymczasowy przycisk wyzwalacza. Proces musi być zautomatyzowany bez użycia zewnętrznych programów na serwerze/lokalnie (Bodymovin w After Effects itp.) i bez udziału pracy ręcznej. Wszystko musi działać automatycznie na backendzie na wyzwalaczu – udanej płatności. Czas konwersji nie powinien przekraczać 30 sekund, oczekiwana waga pliku webm to około 50 mb.
Miejsce zapisu pliku: powinno być określane przez parametr lub zmienną środowiskową, aby można je było skonfigurować bez zmiany kodu.
Elastyczność: Kod powinien być napisany uniwersalnie: nowe niestandardowe czcionki z obsługą kazachskiej cyrylicy powinny być automatycznie podłączane bez potrzeby edytowania logiki renderowania. System powinien pobierać parametry tekstowe dynamicznie, a nie „wbudowywać” konkretne pliki w kod.
Dla informacji: dodawanie nowych szablonów kartek i czcionek zostało już zrealizowane przez panel administracyjny. Wdrażane są jednym przyciskiem automatycznie i poprawnie bez ingerencji w kod.
SPRAWDZENIE WYNIKU:
Skrypt po podłączeniu do strony produkcyjnej w ciągu 3 dni roboczych będzie testowany poprzez użycie 5 działających i 3 nowych szablonów kartek, 5 działających i 3 nowych czcionek, 5 wariantów długiego i krótkiego tekstu z kazachską cyrylicą. Praca będzie uznawana za wykonaną tylko po pełnym dostosowaniu wyniku do powyższych wymagań dotyczących realizacji.
Proszę o przedstawienie swojego budżetu i terminów. Kandydatów proszę od razu opisać, jakimi narzędziami będzie realizowane zadanie.