Saytingizni uy deb tasavvur qiling. Hozir u chizma holida, faqat sizning kompyuteringizda turibdi. Odamlar kirishi uchun unga yer, manzil va eshik kerak.
Necha yoshdagi odamga tushuntiray?
Prompt
Claude'ga yozadigan topshirig'ingiz. Topshiriq qanchalik aniq bo'lsa, natija shunchalik yaxshi bo'ladi.
Kod
Saytning ichki tili. Claude uni siz uchun yozadi, kompyuter esa o'qib bajaradi.
GitHub
Chizmalar saqlanadigan seyf. Kodingizning nusxasi shu yerda turadi. Xato qilsangiz, oldingi holatga qaytasiz.
Server
Uy turadigan yer. Bu doim yoniq kompyuter. Noutbukingizni yopsangiz ham, sayt shu yerda ishlayveradi.
Deploy yoki joylash
Uyni chizmadan qurib, yerga qo'yish. Vercel kabi xizmat buni bir necha tugma bilan qiladi.
Domen
Uyning manzili, masalan sizning-saytingiz.uz. Odamlar sizni shu nom bilan topadi va eslab qoladi.
Baza
Uydagi shkaf. Foydalanuvchilar, buyurtmalar va xabarlar shu yerda saqlanadi. Busiz sayt kiritilgan narsani eslab qololmaydi.
Login
Eshik kaliti. Har kim o'z hisobiga kiradi va faqat o'z ma'lumotini ko'radi.
API kalit
Xizmatlar uchun parol. Tizimingiz Supabase yoki Telegram bilan shu kalit orqali ishlaydi, shuning uchun uni hech kimga ko'rsatmang.
Telegram bot
Telegram ichida ishlaydigan dastur. Odamlar saytga kirmay, o'rganib qolgan joyida foydalanadi.
Yetti qadamda ishlaydigan tizim
Tartib bilan yuring. Har qadamda nima qilish va Claude'ga nima yozish tayyor turibdi.
0 / 7
1
Claude'ga vazifani to'g'ri bering
+
"Menga sayt yasa" desangiz, Claude ko'p narsani o'zi taxmin qiladi. Avval rejani so'rang, kodni keyin.
Men dasturchi emasman. [Nima qurmoqchisiz] qurmoqchiman.
Foydalanuvchilar: [kimlar].
Ular quyidagi 3 ta ishni qila olishi kerak: [1, 2, 3].
Hozircha kod yozma. Avval reja yoz, eng oddiy texnologiyani tanla va nima uchun tanlaganingni oddiy tilda tushuntir. Menga aniq bo'lmagan joylarni so'ra.
Rejani tushunmaguningizcha davom etmang. Tushunmagan joyingizni "10 yoshli bolaga tushuntirgandek ayt" deb so'rang.
Nega Claude?
Kod yozishda kuchli va uzun suhbatda loyihani yaxlit ushlab turadi. Biz shu bilan ishlaymiz, shuning uchun promptlar unga moslangan.
Muqobili: ChatGPT yoki Gemini. Promptlar ularda ham ishlaydi.
2
Kodni GitHub'ga saqlang
+
GitHub kodingizning nusxasi va tarixini saqlaydi. Vercel saytni aynan shu yerdan oladi. github.com'da tekin akkaunt oching, keyin Claude'ga yozing:
Loyihani GitHub'ga yuklashga tayyorla. .gitignore qo'sh: .env va barcha kalitlar GitHub'ga ketmasin. Keyin private repo ochib, kodni yuklashni menga bosqichma-bosqich ko'rsat. Har buyruq nima qilishini tushuntir.
Nega GitHub?
Kod saqlash uchun eng ko'p ishlatiladigan joy. Vercel, Netlify, Render kabi deyarli hamma joylash xizmati unga to'g'ridan-to'g'ri ulanadi. Yopiq (private) repo tekin.
Muqobili: GitLab yoki Bitbucket. Ular ham ishlaydi, lekin qo'llanmalar kamroq.
3
Saytni Vercel'ga chiqaring
+
vercel.com'ga GitHub akkauntingiz bilan kiring.
Add New, keyin Project tugmasini bosing.
Repongizni tanlab, Import, keyin Deploy bosing.
Bir-ikki daqiqada loyihangiz.vercel.app manzili tayyor bo'ladi. Endi GitHub'ga har yangi yuklashda sayt o'zi yangilanadi.
Xato chiqsa, xato matnini to'liq nusxalab Claude'ga bering va "bu nima degani, qanday tuzataman?" deb so'rang.
Nega Vercel?
GitHub'ga bir marta ulanadi, keyin har yuklashda saytni o'zi yangilaydi. Sozlash deyarli yo'q, xavfsiz https va manzil tekin beriladi. Kamchiligi: tekin tarif faqat shaxsiy ish uchun, doim ishlab turadigan dasturga ham mos emas.
Muqobili: Netlify yoki Cloudflare Pages xuddi shunday ishlaydi. To'liq server kerak bo'lsa, Railway, Render yoki VPS.
4
Baza va login qo'shing
+
Ma'lumot saqlash yoki foydalanuvchi kirishi kerak bo'lsa, supabase.com'da loyiha oching. Bu qadam eng xavflisi: noto'g'ri sozlansa, bir foydalanuvchi boshqasining ma'lumotini ko'rishi mumkin.
Loyihaga Supabase bilan baza va login ulab ber.
Majburiy shartlar:
- Har jadvalda Row Level Security yoqilsin.
- Foydalanuvchi faqat o'z yozuvlarini ko'rsin va o'zgartirsin.
- service_role kaliti brauzer kodiga tushmasin.
- Barcha kalitlar .env faylidan o'qilsin.
Oxirida ikkita foydalanuvchi bilan bir-birining ma'lumotini ko'ra olmasligini qanday sinashni ko'rsat.
.env ichidagi kalitlarni Vercel'da Settings, keyin Environment Variables bo'limiga ham kiriting, aks holda sayt serverda ishlamaydi.
Nega Supabase?
Baza, login va fayl saqlash bitta joyda. Kim nimani ko'rishi bazaning o'zida belgilanadi. Tekin tarif sinash uchun yetadi. Kamchiligi: tekin loyiha bir hafta ishlatilmasa to'xtab qoladi.
Muqobili: Firebase yoki Neon. Katta loyihada o'z serveringizdagi PostgreSQL.
5
Telegram bot ulang
+
Telegram'da @BotFather'ga yozib, yangi bot va token oling. Tokenni hech kimga bermang va kod ichiga yozmang.
Telegram botni webhook usulida Vercel function sifatida yozib ber. Token va webhook secret .env dan o'qilsin. So'rov Telegram'dan kelganini secret token bilan tekshir. Webhook'ni ulash buyrug'ini ham ber. Bot kim buyruq bera olishini ham tekshirsin.
Bot xabar kelmasa ham doimiy ishlab turishi kerak bo'lsa (masalan, jadval bo'yicha yuborish), Claude'dan VPS yoki cron variantini so'rang.
Nega webhook?
Bot faqat xabar kelganda uyg'onadi, qolgan vaqtda ishlamaydi. Shuning uchun uni Vercel'da tekin ishlatish mumkin. Mijozlaringiz esa allaqachon Telegram'da, ularga yangi ilova o'rnatish shart emas.
Muqobili: Bot doim ishlab turishi kerak bo'lsa, VPS yoki Railway.
6
O'z domeningizni ulang
+
Sinov uchun .vercel.app manzili yetadi. Mijozga ko'rsatadigan loyihaga o'z domeningiz kerak: uni domen sotuvchisidan yillik to'lov bilan olasiz.
Vercel'da loyihaning Settings, keyin Domains bo'limiga domenni yozing.
Vercel ko'rsatgan DNS yozuvlarini domen sotuvchisi panelida kiriting.
Yangilanishini kuting. Ba'zan bir necha soat ketadi.
Nega o'z domen?
sizning-saytingiz.uz kabi nom eslab qolinadi va ishonch beradi. .vercel.app manzili sinov uchun yetadi, lekin u Vercel'niki, sizniki emas.
Muqobili: Hozircha .vercel.app bilan qoling va mijoz kela boshlaganda domen oling.
7
Odam kirishidan oldin tekshiring
+
Sayt ochilayotgani hali uning xavfsizligini bildirmaydi. Shu promptni Claude'ga bering:
Sen qattiqqo'l tekshiruvchisan. Loyihani har band bo'yicha tekshir: kodda qolgan kalitlar, baza ruxsatlari (RLS), login va yopiq sahifalar, admin qismi, formalar, bot, kutubxonalardagi zaifliklar, zaxira nusxa. Har band uchun "o'tdi" yoki "o'tmadi" deb yoz va dalilini ko'rsat. Tekshira olmagan bandingni "tekshirilmadi" deb yoz, taxmin qilma.