Arxivga qaytish
I. Shaxsiy loyihalar va freymvorkvitrinalider

Ko'p ijarali e-commerce SaaS

TypeScript'da yozilgan ko'p-ijarachili (multi-tenant) e-commerce SaaS platforma (DavrDev): Elysia/Bun API + 3 ta Next.js frontend + AWS SQS/Lambda ustidagi serverless joblar, to'lov shlyuzlari integratsiyalari (Payme/Click/Uzum), yetkazib berish agregatorlari (Wolt/Yandex Eats/Uzum Tezkor) va iiko POS bilan. Spec-first AI vorkflow: repo ichidagi PRD→tasks parser.

Holat
faol
Davr
2025-04-05 → 2026-05-01
AI sessiyalar
1
Stek
Tillar
TypeScriptPHP
Freymvorklar · Infra
Elysia (Bun)Next.js 15Drizzle ORMAWS SQS/LambdaRedisshadcn/uiTanStack QueryZustand
§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.com default 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-table3dev/list/generate/parse-prd buyruqlariga 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.md 139 KB, prd_tasks.md 36 KB, ROADMAP_ORDERS.md 38 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 uchun deletedAt/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 servisi yandex_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): katta prd.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.
§07

Hissa qo'shganlar

git shortlog · barcha branchlar

  1. Dave9386
  2. Your Name15
  3. Boburt8
3 hissadorjami 109 ta kommit
Hozirda

Senior / Staff muhandis rollari va tanlab olingan frilansga ochiqman — prodakshn AI, platforma va full-stack ishlar.

Bog'lanish