__ ________ ____ __
\ \/ /_ __/ / __ \/ /_ ________ ______ _____ _____
\ / / /_____/ / / / __ \/ ___/ _ \/ ___/ | / / _ \/ ___/
/ / / /_____/ /_/ / /_/ (__ ) __/ / | |/ / __/ /
/_/ /_/ \____/_.___/____/\___/_/ |___/\___/_/
Приложение для работы с youtube, при помощи yt-dlp (без использования оффициального api)
Основые функции:
- Добавление каналов и отслеживание изменений (добавление/удаление видеороликов)
- Скачивание и хранение видео/аудио материалов
- Работа с метаданными каналов/роликов, таких как: тэги, описание, просмотры, длительность роликов, частота постинга каналов
Клиент-серверное приложение, написанное на node.js/react/ts, BullMQ для запуска yt-dlp.
Сервер:
- Runtime: Node.js 24 with TypeScript 5.9
- Framework: NestJS 11 + Fastify 5
- Databases: PostgreSQL via Prisma 7, Redis cache
- Queue: BullMQ + Redis
- Monorepo tool: Turborepo
Клиент:
- Framework: React 19
- Components system: Mui 7
- Css: tailwind 4
- Main libs: TanStack Query/Router, ky
Серверная часть состоит из двух независимо запускающихся и работающих процессов:
main.ts— HTTP API server (NestJS + Fastify) отвечает за работу с данными + взаимодействие с FE приложениемworker.ts— BullMQ worker (NestJS application context без HTTP) запускает и обрабатывает вывод yt-dlp (cli утилита для работы с youtube и другими видео-хостингами)
Клиентская часть стандартно взаимодействует с сервером по rest-ful api
На текущий момент реализовано добавление канала, получение информации о нём (существует ли канал, который пытаются отслеживать, его описание), получение списка видео канала и обновление данного списка. Для получения более подробной информации о видео (более подробные мета-данные) и скачивания требуется разработать отдельный сервис создающий и обновляющий youtube-куки, так как youtube ужесточил политики и отдаёт информацию/видео только залогиненому пользователю
- Каналы
- Проверка существования канала
- Получение списка видео канала
- Обновление списка видео канала
- Diff списков видео
- Поиск (advanced) по каналу и метаданным
- Видео
- Получение всей metadata по видео
- Скачивание видео/аудио
- Работа с видео/аудио при помощи ffmpeg
- Сервис для получения/обновления cookies
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |







