Алексей Макеев.
← ВСЕ РАБОТЫ
04 / 07АДМИНКАNEXT 15 · REACT 19 · TAILWIND 42025–26

Админка, из которой волонтёры ведут всю организацию

Админка на русском — для людей, которые не разработчики: завести карточку животного, подготовить статью в гид, одобрить заявку волонтёра, провести выплату. И ни разу не столкнуться ни с Markdown, ни с обработкой картинок, ни с SQL.

Next.js 15React 19Tailwind 4TipTapCloudflare R2MapLibre GLGroq
Список животных в админке, менеджер медиа и сгенерированный черновик статьи с кнопками «Принять» и «Переписать»
ЗАДАЧА

Каждый час, который волонтёр воюет с CMS, — это час, отнятый у животных. Админкой должен пользоваться тот, кто сегодня на дежурстве: с ноутбука и по-русски. Но вокруг денег нужна жёсткая граница — человек, который правит статью, не должен быть в одном неверном клике от экрана выплат.

ПОДХОД

Текстовый редактор с менеджером медиа: файл перетащили — он ушёл прямо в Cloudflare R2 по подписанной ссылке; точка кормления выбирается на карте. Права — это массив в карточке самого администратора, и middleware сверяет его с запрошенным путём: права принадлежат человеку, а не должности. В редакторе гида есть кнопка «Сгенерировать черновик»: языковая модель заполняет статью, а волонтёр либо принимает её, либо отправляет переписать. Каждую картинку из черновика система сначала пробует открыть — чтобы тот, кто проверяет статью, не наткнулся на битую ссылку.

Редактор гида по уходу: панель форматирования с кнопкой «Сгенерировать черновик», блок медиа с загрузкой в R2 перетаскиванием и проверка ссылок, где каждая картинка помечена как доступная или заменённая
15/19/4
МАЖОРНЫЕ ВЕРСИИ NEXT · REACT · TAILWIND
RBAC
МАССИВЫ ПРАВ В MIDDLEWARE
18
ЭКРАНОВ АДМИНКИ, ВСЕ НА РУССКОМ