Rehoe — сервис для поиска и просмотра фильмов и сериалов с запуском видео прямо на странице. Ключевая часть проекта — агрегация данных и ссылок на просмотр из множества разных источников, их нормализация и сведение к одной согласованной карточке тайтла.
Контекст
Пользователь ищет фильм или сериал, получает карточку с агрегированными рейтингами и запускает просмотр прямо на странице. Если один провайдер недоступен, система переключается на следующий без развала сценария. Основная ценность продукта в том, что поиск и просмотр не завязаны на один источник: сервис собирает данные из нескольких внешних провайдеров, приводит их к общей модели и отдает пользователю единый сценарий вместо разрозненных результатов.
Архитектура
Серверная часть собрана структурно по тому же принципу, что и привычные production-проекты уровня Dispatch от Netflix: домены разнесены по ответственности, маршруты остаются тонкими, а основная логика вынесена в сервисы, orchestration-слои и отдельные модули работы с провайдерами.
Клиент на Nuxt остается тонким интерфейсным слоем: данные идут через API, а логика страниц, SEO-маршрутов и воспроизведения живет в composables и типизированном API-клиенте.
Что важно в реализации
Ключевая техническая сложность — маппинг идентификаторов и агрегация данных. Один и тот же фильм приходит из разных источников с разными внешними ID, структурой полей, качеством метаданных и набором доступных ссылок на просмотр, и все это нужно свести к одному внутреннему объекту.
Поверх этого построены слой провайдеров, поиск по объединенным данным и кэширование через Redis с безопасным отказом. Даже при проблемах с частью источников или кэшем система продолжает отдавать результат и не ломает основной пользовательский сценарий.