AI yordamida professional CV yaratish platformasi β foydalanuvchi ma'lumot kiritadi, GPT-4o matn yozadi, PDF yuklab olinadi yoki premium obuna orqali watermarksiz eksport qilinadi.
AI CV Builder β to'liq stack SaaS web ilovasi. Foydalanuvchilar sun'iy intellekt yordamida professional CV yaratadilar. Bepul foydalanuvchilar watermark bilan PDF oladi; Pro obuna egalari toza PDF, va barcha imkoniyatlardan foydalanadi.
- π€ GPT-4o AI β summary va tajriba bullet-pointlarini avtomatik yozadi
- ποΈ Voice Input β mikrofon orqali barcha maydonlarga matn kiritish
- π PDF Export β react-pdf bilan server-side PDF generatsiya
- π³ Stripe To'lov β oylik obuna (Free / Pro)
- π₯ Firebase Auth β Email, Google, GitHub OAuth
- π Dark Mode β to'liq dark/light tema qo'llab-quvvatlash
- β‘ Auto-Save β 1 soniyalik debounce bilan Firestore'ga avtosave
- ποΈ Live Preview β CV yozayotganda real-time 3-panel preview
Ha, to'liq backend mavjud. Next.js App Router orqali server-side API Routes ishlatiladi:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CLIENT (Browser) β
β React 19 Β· Tailwind CSS Β· Firebase Client SDK β
βββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββ
β HTTP / REST
βββββββββββββββββββββββΌββββββββββββββββββββββββββββββββ
β BACKEND (Next.js API Routes) β
β β
β POST /api/cv/generate β OpenAI GPT-4o β
β GET /api/cv/export β PDF generatsiya β
β POST /api/stripe/checkout β Stripe session yaratish β
β POST /api/stripe/webhook β Stripe event handler β
β POST /api/auth/session β Firebase cookie β
ββββββββββββ¬βββββββββββββββββββββββ¬ββββββββββββββββββββ
β β
ββββββββββββΌβββββββ ββββββββββββΌβββββββββββββββββββ
β Firebase Admin β β External APIs β
β (Firestore DB) β β OpenAI API Β· Stripe API β
βββββββββββββββββββ βββββββββββββββββββββββββββββββ
| Endpoint | Method | Vazifa |
|---|---|---|
/api/cv/generate |
POST | GPT-4o orqali CV matni generatsiya |
/api/cv/export |
GET | PDF yaratib qaytaradi (plan tekshiruvi bilan) |
/api/stripe/checkout |
POST | Stripe to'lov sessiyasi ochadi |
/api/stripe/webhook |
POST | To'lov muvaffaqiyatida is_pro yangilaydi |
/api/auth/session |
POST | Firebase session cookie boshqaruvi |
/auth/callback |
GET | OAuth callback handler |
/auth/signout |
GET | Session o'chirish |
| Texnologiya | Versiya | Ishlatilish |
|---|---|---|
| Next.js | 16.1.6 | Full-stack framework (App Router, RSC) |
| React | 19.2.3 | UI library |
| TypeScript | ^5 | Strict mode |
| Tailwind CSS | ^4 | Utility-first styling |
| Zustand | ^5.0.3 | Client-side state management |
| TanStack React Query | ^5.74.4 | Server state va caching |
| React Hook Form | ^7.55.0 | Form boshqaruvi |
| Zod | ^3.24.2 | Schema validation |
| Lucide React | ^0.511.0 | Icon library |
| Sonner | ^2.0.3 | Toast notifications |
| Texnologiya | Versiya | Ishlatilish |
|---|---|---|
| Next.js API Routes | 16.1.6 | REST backend (Node.js runtime) |
| Firebase Admin SDK | ^13.7.0 | Server-side Firestore + Auth |
| OpenAI SDK | ^4.93.0 | GPT-4o API integratsiya |
| Stripe | ^17.7.0 | To'lov va webhook boshqaruvi |
| @react-pdf/renderer | ^4.3.0 | Server-side PDF generatsiya |
| Servis | Ishlatilish |
|---|---|
| Firebase Auth | Email + Google + GitHub OAuth |
| Firestore | NoSQL database (users, cvs, cv_sections, exports) |
| Stripe | Oylik obuna, webhook |
| OpenAI GPT-4o | AI matn generatsiyasi |
| Vercel | Deployment va hosting |
| Web Speech API | Browser-native ovozli kiritish |
ai-cv-builder/
βββ app/
β βββ (auth)/
β β βββ login/page.tsx # Kirish sahifasi
β β βββ register/page.tsx # Ro'yxatdan o'tish
β βββ (dashboard)/
β β βββ layout.tsx # Dashboard layout (TopNav + ThemeToggle)
β β βββ dashboard/page.tsx # Statistika kartalar + CV ro'yxat
β β βββ builder/[id]/edit/ # CV yaratish/tahrirlash
β β βββ builder/[id]/preview/ # CV preview
β β βββ billing/page.tsx # Free/Pro rejalari
β β βββ history/page.tsx # Eksport tarixi
β β βββ settings/page.tsx # Profil sozlamalari
β βββ api/
β β βββ cv/generate/route.ts # OpenAI endpoint
β β βββ cv/export/route.ts # PDF eksport endpoint
β β βββ stripe/checkout/route.ts # Stripe checkout
β β βββ stripe/webhook/route.ts # Stripe webhook
β βββ auth/
β β βββ callback/route.ts # OAuth callback
β β βββ signout/route.ts # Chiqish
β βββ page.tsx # Landing page
β
βββ components/
β βββ landing/LandingPage.tsx # 9-bo'limli landing page
β βββ builder/
β β βββ CVBuilderClient.tsx # 3-panel builder
β β βββ CVPreviewPanel.tsx # Real-time preview
β β βββ TemplateSelector.tsx # Template tanlash
β β βββ sections/ # Form bo'limlari (voice + AI)
β βββ templates/ # Classic / Modern / Minimal
β βββ ui/
β βββ ThemeToggle.tsx # Dark/Light toggle
β βββ VoiceMicButton.tsx # Reusable mic button
β
βββ hooks/
β βββ useAutoSave.ts # Debounced 1s Firestore auto-save
β βββ useCV.ts # CV data fetching/mutation
β βββ useSpeechInput.ts # Web Speech API hook
β βββ useSubscription.ts # Stripe subscription holati
β
βββ lib/
β βββ openai.ts # GPT-4o client + prompt builders
β βββ pdf.ts # react-pdf + watermark logika
β βββ stripe.ts # Stripe client
β βββ theme.tsx # ThemeProvider context
β βββ firebase/
β βββ admin.ts # Firebase Admin SDK (server)
β βββ client.ts # Firebase Client SDK (browser)
β βββ auth-provider.tsx # Auth context provider
β βββ session.ts # Server-side session helper
β
βββ types/
βββ cv.types.ts # CV ma'lumot tiplari
βββ database.types.ts # Firestore schema tiplari
users/{uid}
βββ full_name: string
βββ email: string
βββ is_pro: boolean β Stripe webhook yangilaydi
βββ stripe_customer_id: string
βββ created_at: timestamp
cvs/{cvId}
βββ user_id: string
βββ title: string
βββ template: "modern" | "classic" | "minimal"
βββ export_count: number
βββ updated_at: timestamp
cv_sections/{sectionId}
βββ cv_id: string
βββ section_type: "personal" | "summary" | "experience" | ...
βββ content: object
βββ order_index: number
| Funksiya | Free | Pro |
|---|---|---|
| CV yaratish | β Cheksiz | β Cheksiz |
| AI generatsiya | β | β |
| Voice input | β | β |
| Barcha templatelar | β | β |
| PDF eksport | β Watermark bilan | β Toza (watermarksiz) |
| Eksport tarixi | β | β |
| Stripe oylik obuna | β | β |
Foydalanuvchi qo'pol matn kiritadi β GPT-4o 3-4 ta professional jumladan iborat summary yozadi (birinchi shaxssiz, active voice).
Ish tavsifini kiritadi β GPT-4o 3-5 ta action verb bilan boshlangan bullet point yozadi (miqdoriy natijalar bilan).
Barcha form maydonlarida mikrofon tugmasi β bosib gapirasiz, matn maydonga qo'shiladi. Firefox'da graceful degradation.
- Auth check β har bir API route'da server-side session tekshiriladi
- Ownership validation β foydalanuvchi faqat o'z CV'lariga kira oladi
- Stripe signature β
webhooks.constructEvent()bilan imzo tekshiriladi - Input validation β Zod schema + allowlist bilan barcha kirishlar sanitizatsiya
- Open-redirect himoya β Stripe redirect URL faqat allowlist orqali
- No secrets in client β barcha API kalitlari faqat server-side
Oxirgi yangilanish: Mart 2026