Arxivga qaytish
I. Shaxsiy loyihalar va freymvorkvitrinayakkamijoz anonimlashtirilgan

Kimyo uchun B2B SaaS

Tozalash kimyoviy vositalari yetkazib beruvchisi B2B chemicals supplier (UZ) (O'zbekiston) uchun ishlab chiqarishga tayyor B2B SaaS: veb-sayt + API + admin + Telegram mini-ilova, eng zamonaviy stekdagi maxsus ShipKit boilerplate asosida qurilgan.

Holat
faol
Davr
2025-11-10 → 2026-05-14
AI sessiyalar
2
Stek
Tillar
TypeScriptSQL
Freymvorklar · Infra
Next.js 16Elysia.jsDrizzle ORMBetter AuthgrammYReact PDFTurborepo
§01

Umumiy ko'rinish

  • Bu nima: tozalash kimyoviy vositalari uchun to'liq stekli B2B sotuv platformasi. Ochiq sayt (katalog, sohalar, blog, sarf kalkulyatorlari, lidlar), Elysia API, RBAC bilan admin (lidlar, katalog, tijorat takliflari) va menejerlar uchun Telegram mini-ilova (kalkulyator + taklif PDF generatsiyasi). Maxsus SaaS boilerplate "ShipKit" (DavrApps brendi) asosida qurilgan.
  • Turi / statusi / roli: web-app (monorepo) / faol / yakka (kommitlarning ~99% foydalanuvchiniki; bitta tashqi hissa qo'shuvchi 2 ta kommit bilan).
  • Faollik oynasi: 2025-11-10 → 2026-05-14, ~6 oy zich ishlab chiqish, jonli (eng so'nggi kommitlar 2026-yil may oyidagi UI/kontent o'zgarishlari).
§02

Stek

  • Tillar: TypeScript (strict), SQL (Drizzle).
  • Freymvork/kutubxonalar: Next.js 16 (App Router, [locale] routing, Turbopack, React 19), Elysia.js (Bun-native API, tiplashtirilgan), Drizzle ORM, Better Auth (+ RBAC, access-control), grammY (Telegram bot), @react-pdf/renderer (taklif PDF'lari), next-intl v4.5 (useExtracted + .po/gettext), Tailwind v4 + shadcn/ui, Fuse.js (qidiruv), Polar.sh (boilerplate'dan).
  • Infra/deploy: Turborepo (monorepo, 4 ta ilova + 10 ta paket), Bun 1.3 (runtime + paket menejeri), deploy-skill (nginx + systemd + SSL). .mcp.json, .claude/skills/ — AI-native scaffolding.
  • Ma'lumotlar: PostgreSQL (Drizzle, 16+ jadval), Redis (ioredis — kesh, rate limit, foydalanish).
  • E'tiborga loyiq tooling: .pen fayllar (Pencil — dizayn maketlari), CLI paketi, React Email + Resend, poydevor sifatidagi maxsus boilerplate.
§03

Nima qilindi

Kommit xabarlari toza, conventional commits (feat(...), fix(...), refactor(...)) formatida — eski loyihalardan farqli o'laroq.

  • Kalkulyator domen modeliobject_types, object_type_parameters, consumption_rules, calculation_periods jadvallari: obyekt turi/parametrlariga ko'ra kimyoviy vosita sarfini hisoblash.
  • Sarf kalkulyatori + bin-packing (feat(calc): industry-specific ... savings calculator — carwash/horeca/cleaning): kerakli hajmni qoplash uchun qadoqlash o'lchamlarini tanlaydi.
  • Tijorat takliflariquotes/quote_items, atomik raqamlash KP-00042, PDF generatsiyasi (ru/uz, QQS, chegirmalar).
  • Lidlarfeat(leads): server-side /api/lead bridge posts to Telegram group via bot + localStorage retry queue (xato yuz berganda mijoz tomonidagi qayta urinish navbati).
  • Telegram menejer onboarding'i — taklif tokenlari (inv_...), mini-ilova kalkulyatori.
  • Moderatsiyalanadigan izohlarga ega blogfeat(blog): moderated comments system end-to-end, 6 ta SEO maqola.
  • Mahsulotlarni taqqoslash + qidiruvfeat(compare): /compare side-by-side, agent/search: catalog search with Fuse.js (Ctrl+K).
  • Sayt bo'ylab i18n — next-intl useExtracted + .po, 3 til (ru/uz/en).
  • SEO — sitemap, robots, JSON-LD, 301 redirect'lar bilan route kanonikalizatsiyasi, xizmat sahifalarida noindex.
  • Hajm: ~6 oyda 189 ta kommit. E'tiborga loyiq: ish agent/* branch'lar orqali boradi (agent/calculators, agent/sample, agent/compare, agent/search, agent/routes-dedup) — master'ga birlashtirilgan parallel AI agentlar.
§04

Texnik chellenjlar

  • Unit testlar bilan greedy bin-packing (apps/api/src/modules/v1/calculator/pack-greedy.ts + pack-greedy.test.ts): kerakli requiredMl hajmini qadoqlash o'lchamlari to'plami bilan qoplash — hajm bo'yicha kamayish tartibida saralash, eng kichik qadoqdan tashqari hammasi uchun floor, qoldiqni yaxlitlash uchun ceil, pul BigIntda (UZS). → Haqiqiy algoritm + TDD; CRUD emas, muhandislik darajasidagi ishning isboti.
  • BigInt-xavfsiz pul (apps/api/src/lib/bigint-json.ts): narxlar/jamilar Drizzle bigint sifatida saqlanadi (float aniqlik muammolarisiz), global BigInt.prototype.toJSON esa Elysia javoblaridagi serializatsiyani tuzatadi. Batafsil izoh nima uchun number emas, aynan shu ekanligini asoslaydi. → Pul arifmetikasiga qasddan qilingan yechim.
  • Atomik taklif raqamlash (quotes/number.ts): UPDATE counters SET value = value + 1 ... RETURNING value taklif insert'i bilan bitta tranzaksiya ichida → race-xavfsiz KP-NNNNN ketma-ketligi.
  • Init-race himoyali singleton Telegram bot (telegram/bot.ts, grammY): ikki tomonlama guard (botSingleton + botInitPromise), not_found/used/expired tekshiruvlari bilan bir martalik takliflar, web_app tugmasi orqali mini-ilova ishga tushirish.
  • Taklif PDF generatsiyasi (packages/pdf, @react-pdf/renderer): maxsus kirill shriftlar, ru/uz, taklif payti narx snapshoti (unitPriceUzsSnapshot), QQS/chegirma hisoblash, imzolar/yuridik rekvizitlar.
  • Katta miqyosda i18n (next-intl v4.5 useExtracted + gettext .po, Next 16 uchun proxy.ts): har bir sahifaning 3 tildagi professional lokalizatsiyasi.
  • Monorepo arxitekturasi (Turborepo): ilovalarni (web/api/admin/miniapp) va umumiy paketlarni (auth/db/cache/ui/email/entities/pdf/cli) workspace:* bilan toza ajratish.
§05

AI yordamida ishlab chiqish

  • Topilgan sessiyalar: 2 ta (ushbu loyiha uchun lokal Claude Code sessiyalari katalogi), jami ~13 MB (9.3 MB + 3.3 MB) — juda intensiv AI foydalanish. memory/ katalogi mavjud.
  • AI bilan nima qilingan: har bir sahifaning ommaviy tarjimasi (useExtracted/getExtracted), kalkulyator funksiyalari, taqqoslash/qidiruv, SEO audit, blog kontenti generatsiyasi. Sessiyalar kontekst sifatida loyihaning o'z I18N_GUIDE.md faylini o'z ichiga oladi.
  • AI vorkflow patternlari (kuchli brend signali):
  • Git branch'lardagi parallel agentlar — master'ga birlashtirilgan agent/calculators, agent/sample, agent/compare, agent/search, agent/routes-dedup: foydalanuvchi mustaqil funksiyalarni AI agentlar bo'ylab parallellashtiradi.
  • AI-native repozitoriyCLAUDE.md ("real ishlab chiqarish buglaridan" olingan 210+ qatorlik qoidalar), .claude/skills/ (deploy/dev/ui-ux/polar), .mcp.json.
  • superpowers skills — sessiyalarda superpowers:using-superpowers chaqirilgani ko'rinadi.
  • Boilerplate AI yordamchilari uchun mo'ljallangan (Claude Code/Cursor/Copilot/Windsurf).
§06

Yutuqlar va metrikalar

  • 4 ta ilova + 10 ta paket bitta Turborepo'da, yakka ishlab chiqish.
  • 16+ DB jadval (Drizzle): posts, leads, products, product_variants, object_types, consumption_rules, calculation_periods, managers, manager_invites, quotes, quote_items, settings, counters, blogComments, subscriptions.
  • 3 til UI to'g'ri gettext pipeline orqali.
  • Haqiqiy mahsulot eng zamonaviy 2026 stekida (Next 16 / React 19 / Bun / Elysia / Tailwind v4).
  • README poydevorni ShipKit sifatida joylashtiradi — bu boilerplate ustida "4+ jonli SaaS qurilgan".
§07

Hissa qo'shganlar

git shortlog · barcha branchlar

  1. Dave93137
  2. Your Name50
  3. handenis86-ux2
3 hissadorjami 189 ta kommit
Hozirda

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

Bog'lanish