尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
Investage — kirish so'rovi va rollar (1-bosqich) Next.js 15 + Supabase + Netlify. Hammasi bepul tariflarda ishlaydi. Email tasdiqlash vaqtincha o'chiq. Supabase'ning bepul email xizmati faqat jamoa a'zolariga xat yuboradi. Ommaga ochishdan oldin alohida email xizmati (SMTP, masalan Resend) ulanib, Authentication → Sign In / Providers → "Confirm email" qayta yoqilishi kerak. Shunda Authentication → URL Configuration → Site URL ga sayt manzilini yozing.檢視完整 README ↗
Next.js 15 + Supabase + Netlify. Hammasi bepul tariflarda ishlaydi.
| Nima | Qayerda |
|---|---|
| Jonli sayt | https://investage-j3av.netlify.app |
| Kod | https://github.com/oisbigprojects-art/investage (main ga push → sayt avtomatik yangilanadi) |
| Baza | Supabase loyihasi investage (Frankfurt, bepul), ref fuklumjbymmkaflzndxp |
| Hosting | Netlify loyihasi investage-j3av (bepul) |
Email tasdiqlash yoqilgan (2026-10-26). Xatlar Resend orqali [email protected] dan ketadi (Supabase → Authentication → Emails → SMTP Settings). Xat shablonlari supabase/email-templates/ da: ular /auth/confirm ga token_hash bilan havola beradi, shuning uchun xat boshqa qurilmada ochilsa ham ishlaydi. Shablonni o'zgartirsangiz, Supabase → Authentication → Emails → Templates ga ham qo'ying. Custom SMTP bilan Supabase standart holatda soatiga ~30 ta xat yuboradi (Authentication → Rate Limits).
| Sahifa | Kim ko'radi | Nima qiladi |
|---|---|---|
/ | Hamma | Bosh sahifa, "Startapman / Investorman" tanlovi, yangi startaplar |
/startaplar | Hamma | Startaplar ro'yxati (faqat ochiq qism), bosqich bo'yicha filtr |
/startaplar/[id] | Hamma | Ochiq teaser + yopiq qism (qulf yoki ochilgan ma'lumot) |
/royxat, /kirish | Mehmon | Ro'yxatdan o'tish (rol tanlanadi, keyin o'zgarmaydi), kirish |
/kabinet/startap | Faqat startap | Profil (ochiq + yopiq qism), so'rovlarni tasdiqlash / rad etish / ruxsatni yopish |
/kabinet/investor | Faqat investor | Yuborilgan so'rovlar va ularning holati, ochilgan startaplar |
Ochiq qism (teaser): nomi, soha, qisqa tavsif, bosqich, scoring bali, "Tasdiqlangan" belgisi. Yopiq qism: summa, ulush %, jamoa, kontaktlar (email, telefon, Telegram) + Mirkomil uchun namunaviy maydonlar.
So'rov holatlari: pending (kutilmoqda) → approved (ruxsat) yoki rejected (rad). approved → revoked (startap yopdi). Rad etilgan yoki yopilgan bo'lsa, investor qayta so'rov yubora oladi.
Xavfsizlik bazada: yopiq ma'lumotlar Supabase RLS orqali himoyalangan — kod xato qilsa ham, ruxsatsiz investor ularni API orqali ham ololmaydi. Startap o'z bahosi (score) va tasdiq belgisini o'zgartira olmaydi.
supabase/schema.sql faylini to'liq nusxalab qo'ying → Run.Project URL va anon public kalitni oling.npm install
cp .env.example .env.local # ichiga URL va kalitni yozing
npm run dev # http://localhost:3000
NEXT_PUBLIC_SUPABASE_URL va NEXT_PUBLIC_SUPABASE_ANON_KEY ni qo'shing → Deploy.investage.uz domenini Vercel → Settings → Domains orqali ulash mumkin (sayt.uz'da DNS yozuvlarini o'zgartirasiz)./startaplar → startapni oching → yopiq qism qulflangan → "Kirish so'rovini yuborish".Hozircha admin panel yo'q: Supabase → Table Editor → startups → kerakli qatorda score (0–100) va verified ni qo'lda o'zgartiring.
lib/labels.js → EXTRA_FIELDS ro'yxati (bazani o'zgartirish shart emas, extra jsonb ustunida saqlanadi).startups ↔ startup_private jadvallari orasida ko'chiring.app/globals.css → :root o'zgaruvchilari.lib/labels.js → formatMoney (hozir AQSH dollari, $).app/(app)), ko'rsatkichlar va grafiklar, faollik tasmasi, qo'ng'iroqcha (bildirishnomalar, /kabinet/bildirishnomalar). Bosh sahifa, /kirish, /royxat alohida (app/(site)) — yuqori panel bilan.access_requests va saved_startups dan hosil qilinadi; o'qilgan vaqt profiles.notifications_seen_at da.supabase/schema.sql 8-bo'limida. Logotiplar logos bucket'ida (1 MB, PNG/JPG/WebP).