尚未检测到更新。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).