WatchGenius: Image pipeline v1 (no-hotlink) — worker download→WebP→Supabase Storage + backfill
Мы строим сайт аналитики часов (Next.js). Сейчас у нас есть внешние URL картинок (из источника/RTL, часто Chrono24 CDN), но мы НЕ используем hotlink. Нужно реализовать правильную систему изображений, чтобы потом не переделывать при масштабировании до 1000+ моделей.
Стек:
Frontend: Next.js
Backend/API: Node/Next API routes (или отдельный сервис)
DB/Storage: Supabase (Postgres + Supabase Storage)
Hosting: Vercel (FE), Render (API/worker)
Требование (контракт навсегда):
UI показывает
<img>только из нашего storage/CDN поimage_key(никаких внешних URL).Если изображения нет/не готово: 1 аккуратный placeholder (не 4–5 дублей).
Что нужно сделать (v1):
Этап 0 (C0) — UI контракт + схема:
добавить поля в models:
image_key,image_status (missing|queued|ready|failed),image_updated_atAPI отдаёт
image_url(формируется из storage) иimage_statusUI: если
ready→ показываем фото; иначе 1 placeholder
Этап 1 (C1) — image worker:
таблица очереди
image_jobs(kind, source_url, dest_key, status, tries, last_error)worker (Render): download → validate → convert WebP (sharp) → upload в Supabase Storage → обновить
image_key/statusбезопасность: allowlist доменов, запрет private IP, лимит размера, таймауты
cache headers: long cache (max-age/immutable) на storage/CDN (если применимо)
Этап 2 (C2) — backfill:
прогнать текущую партию (39/84 моделей): взять 1 main image на модель, заполнить storage
отчёт: % success, список failed + причины
Дополнительно (опционально):
батчи для 1000+ (по 100–200, ограничение параллелизма)
retries/backoff + dead-letter
DoD (критерии приёмки):
на сайте нет
<img src="...chrono24...">вообщев каталоге/PDP показываются реальные model images из storage (или 1 placeholder)
нет дублей placeholder в галерее
worker корректно грузит WebP в
/images/models/{slug}/main.webpи обновляетimage_statusесть лог ошибок и список неудачных загрузок
Важно:
Нужна оценка по этапам (фикс-цена и ETA на каждый этап).
Доступы: сначала только консультация/оценка. Код/репозиторий даём после выбора исполнителя (NDA по необходимости).
Просьба в отклике:
оценка стоимости/сроков по этапам C0/C1/C2 (и отдельно опционал для 1000+)
какие риски видите (3–5 пунктов)
примеры похожих задач (worker/media pipeline)
какой формат работы: фикс или почасово с лимитом
-
✋ Здравствуйте! Мы IT-компания dZENcode.
Мы реализуем конвейер изображений для Next.js: очередь, worker на Node.js, WebP-конвертацию (sharp), Supabase Storage и CDN по image_key, опираясь на опыт команды, лучшие практики и собственные наработки.
Есть список доменов-источников для allowlist?
Какие размеры и качество WebP требуются?
Подробную информацию о наших услугах и ставках вы найдёте на сайте:Freelancehunt
Посмотрите – дальше обсудим детали работы, пишите, как будете готовы.
…
Финальная стоимость формируется только после уточнения объёма и требований.
___________________
С уважением,
Менеджер dZENcode
Наши сильные стороны:
💎 10+ лет оказываем IT-услуги: Аутсорс, Аутстаф
🔥 90+ штатных специалистов
🚀 Проекты «с нуля» и на поддержку
⚙️ SLA и постпродакшн-сопровождение
✅ Договор c компанией, гарантированный результат!
🔥 250+ публичных отзывов с 2015 года.
-
95572 1271 1 10 Здравствуйте.Есть большой опыт с Next.js/Nest.js.Готов к сотрудничеству
-
13013 67 0 Здравствуйте! 👋
✅ Готов выполнить вашу задачу профессионально и в срок.
📋 Мое резюме и портфолио доступны для ознакомления.
📌 Мой опыт:
Более 7 лет работы с подобными задачами.
Качественная реализация любых задач в сфере веб-разработки.
Актуальные фриланс-проекты в категории Javascript и Typescript
Разработка платформы AM Mobility (автосервис, парковка, страхование, аренда автомобилей)
259 176 UAH
Ищем команду или опытного Full Stack разработчика для создания MVP платформы AM Mobility. AM Mobility — это единая цифровая экосистема для автомобилистов, объединяющая в одном приложении и веб-платформе: парковку; автосервис; шиномонтаж; автомойку; аренду автомобилей;… Javascript и Typescript, Веб-программирование ∙ 4 дня 9 часов назад ∙ 111 ставок |
Gsap анимации
1000 UAH
Добрый день. Нужно внести правки в текущем проекте. Нужен специалист, который хорошо работает на gsap/lenis Нужно сделать анимацию карточек. Подробное ТЗ здесь: https://www.figma.com/design/5bLEJudN5LPpB9ZSoJa2Eb/Untitled?m=auto&t=qwyluUctL1lrMNvh-6 Нужно… Javascript и Typescript, Веб-программирование ∙ 4 дня 15 часов назад ∙ 21 ставка |
Коммерческая on-premise платформа видеосвязи «ViM»Требуется разработать on-premise систему видеосвязи с базовым расчетом на 100 одновременных подключений (10 изолированных комнат по 10 человек). Платформа должна иметь заложенную архитектуру для будущего горизонтального масштабирования до 1000 пользователей путем добавления… Javascript и Typescript, Веб-программирование ∙ 5 дней 10 часов назад ∙ 32 ставки |
Ищу наставника по Claude Code для запуска веб-проекта с нуля**Кратко о задаче:** Я новичок без опыта в программировании. Есть готовое ТЗ на разработку сайта (42 страницы, Next.js, PostgreSQL). Хочу реализовать его самостоятельно с помощью Claude Code - нужен специалист, который настроит среду и научит меня работать с инструментом. ---… Javascript и Typescript, Обучение ∙ 6 дней 14 часов назад ∙ 19 ставок |
Обновление дизайна на сайтеНужно обновить дизайн существующего сайта используя HTML, CSS, JS: освежить внешний вид, сделать его современным и адаптивным под мобильные устройства. Требуется добавить плавные анимации и интерактивные элементы . HTML и CSS верстка, Javascript и Typescript ∙ 7 дней 8 часов назад ∙ 96 ставок |