尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
Do'kon boshqaruv tizimi (ERP/POS): kassa, ombor va filiallar, mijozlar va nasiya, ta'minotchilar, xodimlar va ruxsatlar, hisobotlar, onlayn buyurtmalar. Node.js 20.19+ yoki 22 kerak. Marketplace lokal ERP'ni http://localhost:3001 da kutadi, shuning uchun ikkalasini birga ishlatganda ERP'ni 3001 portida oching. Muhit o'zgaruvchilari va ularning vazifasi — .env.example. GitHub Actions har push va PR'da lint, tsc va build ni ishga tushiradi (ci.yml).檢視完整 README ↗
Do'kon boshqaruv tizimi (ERP/POS): kassa, ombor va filiallar, mijozlar va nasiya, ta'minotchilar, xodimlar va ruxsatlar, hisobotlar, onlayn buyurtmalar.
Jonli: https://www.biomaxx.store · https://qaqnus222.biznesjon.uz
Onlayn do'kon: biomax-marketplace · https://www.biomaxmarketplace.store
| Qatlam | Nima |
|---|---|
| Ilova | Next.js 16 (App Router, Turbopack) · React 19 · TypeScript |
| Baza | PostgreSQL (Neon) · Prisma 7 (@prisma/adapter-pg) |
| Kirish | NextAuth v5 (JWT sessiya, login + parol) |
| Xabarlar | Telegram (GramJS) — chek, nasiya eslatmasi, kirish kodi |
| Joylashtirish | Vercel (sin1) + Vercel Cron |
| Integratsiya | Marketplace API (HMAC-SHA256 autentifikatsiya) |
Node.js 20.19+ yoki 22 kerak.
npm install # prisma generate ham bajariladi
cp .env.example .env # qiymatlarni to'ldiring
npx prisma migrate deploy # jadvallarni yaratish
npm run dev -- -p 3001 # http://localhost:3001
Marketplace lokal ERP'ni http://localhost:3001 da kutadi, shuning uchun
ikkalasini birga ishlatganda ERP'ni 3001 portida oching.
Muhit o'zgaruvchilari va ularning vazifasi — .env.example.
| Buyruq | Vazifasi |
|---|---|
npm run dev | Rivojlanish serveri |
npm run build / npm start | Ishlab chiqarish build'i va server |
npm run lint | ESLint |
npx tsc --noEmit | Tur tekshiruvi |
npm run db:migrate | Yangi migratsiya yaratish (rivojlanish) |
npm run db:studio | Prisma Studio |
GitHub Actions har push va PR'da lint, tsc va build ni ishga tushiradi
(ci.yml).
src/
app/(dashboard)/ bo'limlar: sotuv, tovarlar, ombor, mijozlar, nasiyalar, ...
app/api/ API marshrutlari
components/ umumiy UI komponentlari
hooks/ React hook'lar (useRuxsat, useJonli, ...)
lib/ biznes mantiq va server yordamchilari
proxy.ts kirish va API ruxsatlarini tekshiradi
prisma/
schema.prisma ma'lumotlar modeli
migrations/ migratsiyalar
docs/ tizim protokoli va taqdimot
Bo'lim va amal ruxsatlari ruxsat-katalogi.ts da e'lon qilinadi, administrator ularni «Ruxsatlar» bo'limida xodimga beradi.
Yangi API marshrut qo'shganda uni
api-ruxsat-xaritasi.ts ga ham yozing:
proxy.ts har /api so'rovini shu xarita bo'yicha tekshiradi. Kodda
rol !== 'ADMIN' deb qattiq yozish o'rniga katalog kalitidan foydalaning.
main ga push avtomatik deploy qiladi..env.example dagi qiymatlar
(Production uchun belgilanganiga ishonch hosil qiling).npx prisma migrate deploy
ni bazaning to'g'ridan-to'g'ri (pooler emas) manzili bilan alohida ishga tushiring.Cron vazifalar vercel.json da: nasiya eslatmasi va kunlik hisobot.
Batafsil texnik tavsif — docs/protokol.md.
ERP va onlayn do'kon bitta PostgreSQL bazasida: ERP public, do'kon
marketplace sxemasida. Shuning uchun ma'lumot almashinuvi ikki qatlamda:
| Yo'nalish | Nima | Qanday |
|---|---|---|
| Sayt → ERP ma'lumotlari | katalog, narx, mavjudlik, do'kon ma'lumoti, rasm | public.vitrina_katalog ko'rinishidan to'g'ridan-to'g'ri (real vaqtda) |
| ERP → buyurtmalar | panel ro'yxati, tafsilot, jonli belgi | marketplace.erp_buyurtmalar ko'rinishidan to'g'ridan-to'g'ri |
| ERP → buyurtma holatini o'zgartirish | tasdiqlash, yig'ish, yo'lda, bekor | imzolangan POST /api/erp/* (qoidalar do'kon tomonida) |
Ko'rinishlar qoidalarni o'zida saqlaydi: vitrina_katalog faqat saytga
chiqarilgan mahsulotni va BOR/KAM/YOQ mavjudlikni beradi (aniq qoldiq,
kelish narxi va ta'minotchi YO'Q); erp_buyurtmalar esa buyurtma qatorlari,
tarixi va ruxsat etilgan keyingi holatlarni beradi.
Natijada katalog va panel HMAC kalitiga bog'liq emas — kalit faqat holat
o'zgartirish uchun kerak (MP_HMAC_SECRET).
/api/marketplace/*)Marshrutlar joyida qoldi: jonli saytda hali eski versiya ishlayapti va u shularga murojaat qiladi. Yangi deploydan keyin ular faqat zaxira yo'l.
10 ta endpoint (/api/marketplace/*):
| Marshrut | Method | Maqsad |
|---|---|---|
/salomatlik | GET | Health check, bog'lanish testi |
/katalog | GET | Vitrina uchun mahsulotlar (BOR/KAM/YOQ) |
/qoldiq | POST | Bir nechta tovar mavjudligini tekshirish |
/rezerv | POST | Buyurtma uchun zaxira band qilish |
/rezerv-boshat | POST | Rezervni bo'shatish |
/bajarish | POST | Buyurtmani bajarish, sotuv yaratish |
/mijoz | POST | Mijoz topish yoki yaratish |
/dokon | GET | Do'kon aloqa ma'lumotlari |
/rasm/:id/:n | GET | Mahsulot rasmi |
/kod-yubor | POST | Telegram orqali kirish kodi |
# Automatic test (salomatlik, katalog, qoldiq, mijoz, rezerv)
node test-marketplace.mjs
# Yoki curl orqali
curl -H "X-MP-Timestamp: <timestamp>" \
-H "X-MP-Signature: <hmac-signature>" \
https://qaqnus222.biznesjon.uz/api/marketplace/salomatlik
.env faylida quyidagilar kerak:
MP_HMAC_SECRET="<64-belgili-kalit>" # Marketplace bilan bir xil
MARKETPLACE_URL="https://www.biomaxmarketplace.store"
MARKETPLACE_OMMAVIY_URL="https://www.biomaxmarketplace.store"
Batafsil: MARKETPLACE_INTEGRATSIYA.md