O'zbekiston milliy turar joy va bron qilish ekotizimi (Monorepo)
π **Live (Foydalanuvchi sayti):** https://safaar-uz.vercel.app
SAFAAR.uz β O'zbekistonning shahar mehmonxonalaridan tortib tog' bag'ridagi eng chekka oromgohlargacha bo'lgan barcha dam olish joylarini bitta platformada birlashtiruvchi milliy bron ekotizimi.
- π¨ Mehmonxonalar & π‘ Dachalar (Keng qamrovli qidiruv va filtrlash)
- π Avtobus & Transport chiptalari
- π Rollarga asoslangan tizim: (Mijoz, Hamkor, Admin, Super Admin)
- π³ Onlayn to'lovlar integratsiyasi: (Click, Payme, Uzcard, Humo)
- β‘ Real-time xabarnomalar va SMS OTP
Loyiha to'liq Monorepo uslubida yozilgan va quyidagi qismlardan iborat:
safaar/
βββ apps/
β βββ backend/ (NestJS API) β :4000
β βββ web-user/ (Mijozlar sayti - Next.js) β :3000
β βββ web-partner/ (Hamkor kabineti - Next.js) β :3001
β βββ web-admin/ (Super Admin - Next.js) β :3002
βββ packages/
β βββ types/ (Umumiy TypeScript turlari)
| Qatlam | Texnologiyalar |
|---|---|
| Frontend | Next.js 15, React 19, Tailwind CSS v4, TypeScript (strict) |
| Backend | NestJS, PostgreSQL 14, Prisma ORM, Redis |
| Infratuzilma | Docker, Yandex Cloud VM, Cloudflare R2 (Storage), GitHub Actions |
| Xavfsizlik | JWT, Refresh Tokens, Rate Limiting, RBAC |
Loyiha kompyuteringizda ishlashi uchun Node.js (v20+) va Docker o'rnatilgan bo'lishi kerak.
1. Kutubxonalarni o'rnatish:
pnpm install2. Tiplarni (Types) generatsiya qilish:
pnpm run build:types3. Ilovalarni ishga tushirish: Siz o'zingizga kerakli qismni alohida yoki hammasini bittada yurgizishingiz mumkin:
pnpm run dev:user # Faqat Mijozlar sayti (localhost:3000)
pnpm run dev:partner # Faqat Hamkorlar kabineti (localhost:3001)
pnpm run dev:admin # Faqat Admin panel (localhost:3002)
pnpm run dev:backend # Faqat Backend API (localhost:4000)4. Backend Infra (Docker): Ma'lumotlar bazasi (PostgreSQL) va Redis'ni ko'tarish uchun:
docker compose -f docker-compose.backend.yml up -dΒ© 2026 SAFAAR Development Team β Barcha huquqlar himoyalangan.