Алексей Белов
← Все проекты

Sladkoru

Интернет-магазин турецких сладостей с админ-панелью.

Next.jsReactTypeScriptZodTailwind CSSshadcn/ui

Решение

  • Собрал монорепозиторий на pnpm workspaces с общим пакетом контрактов (Zod-схемы + типы) — единственным источником правды для DTO, которые использует фронтенд.
  • Разделил Next.js App Router на публичную витрину (RSC, кеширование) и защищённую админку, у каждой — своя стратегия загрузки и рендеринга данных.
  • Сделал админ-интерфейс: CRUD для товаров и категорий с ручной сортировкой и featured-слотами, загрузку и конвертацию изображений в WebP через sharp, Notion-подобный блочный редактор для статей, модерацию пользовательского контента.
  • Настроил SEO-модуль с генерацией метаданных и структурированных данных и точечную инвалидацию кеша страниц по тегам при изменении каталога.
  • Собрал типобезопасный слой доступа к API: фабрика клиентов с отдельным классом ошибок и Zod-валидацией ответов для каждого ресурса, одинаково для JSON и загрузки файлов.