§01
Umumiy ko'rinish
- Bu nima: Self-service terminal vendor (UZ) uchun marketing sayti (mahsulotlar: info-kiosklar, to'lov terminallari) + kontentni boshqarish uchun o'ziga xos headless CMS. Ochiq storefront (API'dan SSR) + admin (bo'limlar/kategoriyalar/sertifikatlar/sozlamalar uchun CRUD) + API. Kontent ko'p tilli.
- Turi / holati / roli: web-app (monorepo: sayt + CMS) / faol / yakka (47/47 kommit — foydalanuvchi).
- Faollik davri: 2025-11-10 → 2026-05-21, faol.
§02
Stek
- Monorepo (ShipKit): Turborepo + Bun;
apps/web(Next.js 16 ochiq sayt),apps/admin(Next.js admin CMS),apps/api(Elysia.js); paketlar auth (Better Auth)/db (Drizzle/Postgres)/cache (Redis)/ui (shadcn+Tailwind v4)/email/entities/cli. - Frontend: Next.js 16 (App Router, SSR), Figma bo'yicha bo'lim komponentlari, sonner (toast'lar), i18n (LanguageTabs).
- CMS: o'ziga xos — bo'limlar, kategoriyalar, sertifikatlar, sayt sozlamalari; ImageUpload, LanguageTabs (ko'p tilli kontent), seed skript.
- Infra:
.mcp.json(shadcn MCP),.claude/, ShipKit deploy konfiguratsiyasi. - Ma'lumotlar: PostgreSQL (Drizzle) + seed; kontent migratsiyasi Tilda'dan (
backup/— Tilda saytining asset'lar bilan snapshot'i).
§03
Nima qilindi
Toza conventional kommitlar, pastdan yuqoriga aniq qurilish ko'rinadi:
- CMS backend (
feat(api)): settings kontrollerlari + CMS kontroller ro'yxatga olish; entities eksportlari (sections/categories/certificates/settings/upload). - Admin (
feat(admin)): bo'limlar (ro'yxat+tahrir), kategoriyalar, sertifikatlar, sayt sozlamalari uchun CRUD sahifalari; CMS sidebar navigatsiyasi; qayta ishlatiladiganLanguageTabs+ImageUpload; Toaster (sonner). - Kontent seed (
9de7b0a feat(db): Self-service terminal vendor (UZ) seed script with all initial content). - Ochiq sayt (
feat(web)): server tomonda fetch helper'lar + ma'lumot turlari, kontaktlar va til almashtirgichli header, Figma bo'yicha 10 ta bo'lim, footer, SSR ma'lumotlari asosida landing yig'ish (boilerplate olib tashlangan), qo'shimcha landing'lar/infokiosk,/platejniy-terminal, brand-logos, dc-pins, "pixel-pass" jilo. - Tilda migratsiyasi (
0e34433 chore(backup): snapshot Tilda site with assets). - Ko'lam: ~6 oy davomida 47 ta yakka kommit.
§04
Texnik chellenjlar
- Noldan o'ziga xos ko'p tilli CMS (
apps/admin+apps/api+packages/db): bo'limlar/kategoriyalar/sertifikatlar/sozlamalar uchun CRUD,LanguageTabsorqali ko'p tilli kontent, rasm yuklash (ImageUpload), seed. → tayyor CMS'ni faqat iste'mol qilish emas, balki headless CMS qurish qobiliyatini isbotlaydi. - API'dan SSR landing (
apps/web, server tomonda fetch helper'lar + turlar): ochiq sayt CMS'dagi bo'limlarni serverda render qiladi. → turlangan API (Elysia) Next SSR bilan bog'langan. - Figma → komponentlar (10 ta bo'lim "Figma dizayniga mos", "pixel-pass"): dizaynni kodga toza ko'chirish.
- Tilda'dan o'z stack'iga migratsiya: no-code konstruktordan boshqariladigan Next/Elysia sayt + CMS'ga o'tish (asset'larni saqlab qolgan holda). → tipik, qimmatli B2B vazifa.
§05
AI yordamida ishlab chiqish
- Topilgan sessiyalar: ushbu loyiha uchun Claude Code sessiyalar katalogida 1 ta .jsonl. Lokal
.claude/,.mcp.json(shadcn MCP). - AI bilan nima qilingan: AI'ga tayyor ShipKit'da ishlab chiqish (CLAUDE.md + skill'lar); ehtimol Claude Code + shadcn MCP bilan CMS/bo'limlar yig'ish. Chuqur tahlil qilinmagan (1 sessiya).
- Pattern: ShipKit + shadcn MCP + Figma asosidagi layout.
§06
Yutuqlar va metrikalar
- Yakka: zamonaviy monorepo'da sayt + o'ziga xos CMS + API, ~6 oyda.
- Ko'p tilli kontent, Figma bo'yicha 10+ bo'lim, 2+ mahsulot landing'i, Tilda migratsiyasi.
- 47 ta yakka kommit.