Приложение родилось с классичегого:
“Андрей, тыж программист...”
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