Alexey Belov
← All projects

Sladkoru

An e-commerce store for Turkish sweets with an admin panel.

Next.jsReactTypeScriptZodTailwind CSSshadcn/ui

Solution

  • Set up a pnpm workspaces monorepo with a shared contracts package (Zod schemas + types) — the single source of truth for the DTOs the frontend uses.
  • Split the Next.js App Router into a public storefront (RSC, caching) and a protected admin area, each with its own data-fetching and rendering strategy.
  • Built the admin UI: CRUD for products and categories with manual ordering and featured slots, image upload and WebP conversion via sharp, a Notion-style block editor for articles, and content moderation.
  • Set up an SEO module generating metadata and structured data, plus tag-based cache invalidation whenever catalog data changes.
  • Built a type-safe API-client layer: a factory of clients with a dedicated error class and Zod response validation per resource, for both JSON and file uploads.