Приложение родилось с классичегого:

“Андрей, тыж программист...”

коротко о
главном

Yandex Disk Gallery — обёртка над Яндекс.Диск API была изобретена для моих друзей и меня. Так как мы часто куда-то ходим, ездим, делаем фото, записываем видео, то нам нужно было удобное место, чтобы делиться между собой этими файлами. Хранить всё в телеграм можно, но искать давние фото не удобно. Перешли в Яндекс.Диск, но визуал и функционал нас не очень устраивал. Тогда то с уст и сошла фраза "Андрей, тыж программист..."

как
устроено

Авторизация работает через Telegram бота с white list'ом.

Контент поделен на две сущности - папки и файлы (все как и в Yandex.Disk).

Папкам можно добавлять теги, сортировать их, искать по различным полям. Файлы внутри папок располагаются сеткой, сами файлы можно перемещать через Drag&Drop

Файлы загружаются непосредственно в Yandex.Disk, либо вставляя ссылку на файл, либо прекрепляя файлы как есть.

Забавы ради были добавлены графики со статистикой - кто, сколько и куда загружает файлы.

под
капотом

Приложение целиком на Next.js 15 с React 19 на Server Actions.

Метаданные папок, файлов и пользователей хранятся в MongoDB, а сами файлы живут на Яндекс.Диске и проксируются через API-роуты с кешированием

Серверное состояние кешируется через TanStack React Query, формы — React Hook Form + Zod

Стилизация — shadcn на Radix, перетаскивание файлов — DnD Kit, графики — Recharts

Yandex Disk Gallery