§01
Umumiy ko'rinish
- Bu nima: bir nechta ijarachilar (multi-tenant) uchun onlayn do'konlar / yetkazib berishni ishga tushirish uchun mo'ljallangan SaaS platforma. Servislardan tashkil topgan: backend (Elysia/Bun REST API, Postgres+Drizzle, Redis), admin (Next.js 15 dashboard), storefront (Next.js 15 do'kon vitrinasi), order-panel (Next.js buyurtmalar paneli), jobs (AWS SQS+Lambda vorkerlar, lokalda LocalStack), laravel (+
yandex_reciever— Yandex webhooklarni qabul qilish), shared (umumiy tiplar). package.json muallifi "DavrDev" (studiyaning o'z mahsuloti / startapi). - Turi / statusi / roli: web-app (ko'p-servisli SaaS) · faol · lead/deyarli yakka — 108 kommitdan ~86 tasi foydalanuvchidan (+15 ta
you@example.comdefault identity ostida, ehtimol ham u); Boburning kichik hissasi (PRlar). - Faollik oynasi: 2025-04-05 → 2026-05-01 (~13 oy). Tartibli git vorkflow: feature branchlar + Pull Requestlar (
Dave93/soft_delete,Dave93/api_keys,Dave93/items_list_toolbar) — arryt kabi "axlat-xabarli" repolarga qarama-qarshi o'laroq.
§02
Stek
- Tillar: TypeScript (asosiy), PHP (laravel webhook qabul qilish servisi).
- Freymvorklar/kutubxonalar:
- *Backend:* Elysia (Bun) +
@elysiajs/swagger(OpenAPI), Drizzle ORM +drizzle-typebox, Postgres (postgres), ioredis (kesh),@aws-sdk/client-sqs/client-ssm(navbatlar/parametrlar),elysia-remote-dts(API-tip generatsiyasi), cuid2 (id). - *Frontendlar (admin/storefront/order-panel):* Next.js 15 (Turbopack), shadcn/ui (Radix), Elysia Eden (tip-xavfsiz API klient), TanStack Query, Zustand, React Hook Form + Zod v4, TipTap (rich-text), Leaflet + MapTiler (geokodlash/xaritalar),
@headless-tree(kategoriya daraxtlari), framer-motion. - *Jobs:* AWS Lambda (
@types/aws-lambda) + SQS + S3, Drizzle (har bir ijarachi uchun alohida ulanish), zod. - *Root CLI:*
@anthropic-ai/sdk+openai+commander+boxen/figlet/ora/gradient-string/cli-table3—dev/list/generate/parse-prdbuyruqlariga ega maxsus CLI (scripts/dev.js). - Infra/deploy: Bun + Docker (
docker/, lokal SQS/S3 uchun LocalStack), joblar uchun AWS Lambda deploy, Next standalone (portlar: admin 6868, storefront 3002, backend 3000). Sirlar uchun SSM Parameter Store. - Ma'lumotlar: Drizzle orqali PostgreSQL (+PostGIS geofazoviy), Redis (joblar orqali invalidatsiya qilinadigan kesh), S3 (presigned upload).
- E'tiborga molik tooling: PRD hujjatlashtiruvi juda katta (
prd.md139 KB,prd_tasks.md36 KB,ROADMAP_ORDERS.md38 KB,BACKGROUND_JOBS_IMPLEMENTATION_PLAN.md) — spec-first jarayon.
§03
Nima qilindi
Kommitlar mazmunli, PRlar orqali:
- Multi-tenant API skeleti: RBAC (Users/Roles/Permissions), ma'lumotlar izolyatsiyasiga ega tashkilotlar, katalog (ierarxik kategoriyalar, mahsulotlar, xususiyatlar), geo-ma'lumotli shaharlar/terminallar, yangiliklar/bannerlar, API kalitlari (Bearer) + Swagger + ochiq API (
/api/public/v1). - Hamma joyda soft-delete (
Dave93/soft_delete): shaharlar/tashkilotlar/terminallar/bannerlar/yangiliklar uchundeletedAt/deletedBy+ restore. - Tanlash panel / batch operatsiyalar (
Dave93/items_list_toolbar): ko'p-tanlovli va bulk-action paneliga ega maxsus data table'lar. - Background joblar (
555c1a7): AWS SQS+Lambda tizimi (send-email, process-image, export-data, invalidate-cache, generate-report, sync-inventory, process-order, send-notification). - Import integratsiyalari (shaharlar/terminallar), terminal ombor boshqaruvi, savat/mahsulot refaktori, API yaxshilanishlar.
- Hajm: 13 oyda 108 kommit, ~86 tasi foydalanuvchidan; PR/feature-branch intizomi.
§04
Texnik chellenjlar
CLAUDE.md + backend/src/services/{payment,aggregator,geo,iiko} strukturasi + manifestlar orqali tasdiqlangan:
- Servislar bo'ylab end-to-end tip xavfsizligi (
elysia-remote-dts+ Elysia Eden): backend DTS generatsiya qiladi, frontendlar (admin/storefront/order-panel) tiplashtirilgan klientni iste'mol qiladi — qo'lda takrorlangan tiplarsiz yagona kontrakt. → Ilg'or end-to-end tip-xavfsizlik patterni. - Serverless kesh invalidatsiyasi (CLAUDE.md §Caching + jobs):
{entity}:{id}/{entity}:list:{filters}kalitlariga ega Redis kesh, invalidatsiya to'g'ridan-to'g'ri emas, balki SQS/Lambda ustidagi background job (invalidate-cache) orqali — yozish va invalidatsiya bir-biridan ajratilgan. → Yuklama uchun yetuk kesh arxitekturasi. - Izolyatsiya bilan multi-tenancy (
backend/src/services, jobs'da har bir ijarachi uchun alohida ulanish): tashkilotga asoslangan ma'lumot izolyatsiyasi, API va joblar orqali ijarachi konteksti, soft-delete. → Bir-ijarachili ilova emas, haqiqiy SaaS muhandisligi. - Haqiqiy lokal integratsiyalar (
services/payment,services/aggregator,services/iiko): Payme/Click/Uzum Bank to'lov shlyuzlari, Wolt/Yandex Eats/Uzum Tezkor yetkazib berish agregatorlari, iiko/Plum POS — webhooklar uchun alohida laravel servisiyandex_reciever. → O'zbek e-com / foodtech landshaftini bilish. - Geofazoviy (PostGIS + Leaflet/MapTiler geokodlash): geo so'rovlarga ega zonalar/terminallar va xaritada manzil tanlash.
- Spec-first AI jarayoni (root CLI +
@anthropic-ai/sdk/openai+parse-prd): kattaprd.mdni tasklarga (prd_tasks.md) parslaydigan, repo ichidagi Task-Master'ga o'xshash asbob. → Foydalanuvchi shunchaki AI bilan kod yozmaydi; u spec atrofida AI tooling quradi.
§05
AI yordamida ishlab chiqish
- Topilgan sessiyalar: 1 ta (lokal Claude Code sessiyalar katalogida, subdir-form
d4e6bceb-…). Bundan tashqari reponing o'z.claude/va.cursor/si (Cursor ham ishlatilgan). - AI bilan nima qilingan: yagona transkript chuqur o'rganilmadi, ammo muhit aniq AI-first: agent uchun qo'llanma sifatida CLAUDE.md, katta PRD/Roadmap hujjatlari, repo ichidagi
parse-prd(Anthropic/OpenAI SDK orqali PRD→tasks). Ishlab chiqish AI bilan spec-yo'naltirilgan bo'lgan. - AI vorkflow patternlari: spec-first (PRD → tasklarga avto-dekompozitsiya → implementatsiya), agent qo'llanmasi sifatida CLAUDE.md, Claude Code + Cursor kombinatsiyasi. "AI-yordamli mahsulot muhandisligi"ning kuchli namunasi.
§06
Yutuqlar va metrikalar
- Ko'lam: 5+ servis (backend, 3 frontend, jobs) + laravel webhook servisi + umumiy tiplar; 8 turdagi background job; Swagger'li ochiq + admin API.
- Integratsiyalar: 3 ta to'lov tizimi, 3 ta yetkazib berish agregatori, 2 ta POS — haqiqiy tijoriy qamrov.
- Yetuklik: PR'ga asoslangan vorkflow, soft-delete, RBAC, multi-tenant, PostGIS, presigned S3, SSM sirlar, LocalStack prod/lokal parity.
- Hujjatlashtiruv: ~200 KB PRD/roadmap/rejalar — kam uchraydigan spec intizomi.