Synaplan
開源 AI 平台,供企業使用:自行託管的 AI 代理、符合 GDPR 的聊天機器人小工具、RAG 知識庫、WhatsApp 與 Outlook AI、MCP、多模型路由。Docker、Kubernetes 或託管於 Germ
AI 翻譯
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
Smart inventory management system for Northern Nigeria boutiques.
Bilingual (English + Hausa) · Nigerian Naira (₦) · Mobile-first PWA.
1. Create a new project at supabase.com
2. Go to SQL Editor and run supabase/migrations/001_schema.sql
3. Create auth users in Authentication → Users:
• [email protected] (owner)
• [email protected] (cashier)
• [email protected] (stock_manager)
4. Run supabase/seed.sql to populate de檢視完整 README ↗Smart inventory management system for Northern Nigeria boutiques. Bilingual (English + Hausa) · Nigerian Naira (₦) · Mobile-first PWA.
┌─────────────────────────────────────────────────────┐
│ FRONTEND (Next.js 14) │
│ PWA · Tailwind CSS · shadcn/ui · Framer Motion │
│ next-intl (EN/Hausa) · Recharts · jsPDF │
└──────────────────────┬──────────────────────────────┘
│ Supabase JS Client
┌──────────────────────▼──────────────────────────────┐
│ SUPABASE │
│ ┌─────────────┐ ┌──────────┐ ┌────────────────┐ │
│ │ PostgreSQL │ │ Auth │ │ Storage │ │
│ │ + RLS │ │ Magic │ │ receipts/ │ │
│ │ Realtime │ │ Links │ │ product-imgs/ │ │
│ └─────────────┘ └──────────┘ └────────────────┘ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ Edge Functions │ │
│ │ · low-stock-alert (cron 8am WAT) │ │
│ │ · daily-report (cron 9pm WAT) │ │
│ │ · paystack-webhook │ │
│ │ · generate-receipt │ │
│ └─────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────┘
│ │ │
Paystack Resend WhatsApp
(Payments) (Email) (Deep Links)
git clone https://github.com/YOUR_USERNAME/stockshop-stock.git
cd stockshop-stock
npm install
cp .env.example .env.local
# Fill in your Supabase, Paystack, and Resend keys
supabase/migrations/001_schema.sql[email protected] (owner)[email protected] (cashier)[email protected] (stock_manager)supabase/seed.sql to populate demo data.env.localnpm run dev
Open http://localhost:3000 → redirects to /en/login
Run the full SQL schema from supabase/migrations/001_schema.sql in the SQL Editor.
This creates:
receipts, product-images, shop-logossales, products, stock_movements, paymentsDeploy via Supabase CLI:
npm install -g supabase
supabase login
supabase link --project-ref YOUR_PROJECT_REF
supabase functions deploy low-stock-alert
supabase functions deploy daily-report
supabase functions deploy paystack-webhook
supabase functions deploy generate-receipt
Set secrets for Edge Functions:
supabase secrets set PAYSTACK_SECRET_KEY=sk_test_xxx
supabase secrets set RESEND_API_KEY=re_xxx
supabase secrets set [email protected]
Run in SQL Editor:
-- Low stock alert at 8am WAT (7am UTC)
select cron.schedule(
'low-stock-alert',
'0 7 * * *',
$$
select net.http_post(
url := 'https://YOUR_PROJECT_REF.supabase.co/functions/v1/low-stock-alert',
headers := '{"Authorization": "Bearer YOUR_ANON_KEY"}'::jsonb
)
$$
);
-- Daily report at 9pm WAT (8pm UTC)
select cron.schedule(
'daily-report',
'0 20 * * *',
$$
select net.http_post(
url := 'https://YOUR_PROJECT_REF.supabase.co/functions/v1/daily-report',
headers := '{"Authorization": "Bearer YOUR_ANON_KEY"}'::jsonb
)
$$
);
.env.localhttps://YOUR_PROJECT_REF.supabase.co/functions/v1/paystack-webhookhttps://YOUR_DOMAIN.vercel.app/api/paystack/webhookcharge.successCard: 4084 0840 8408 4081
Expiry: Any future date
CVV: 408
PIN: 0000
OTP: 123456
| Feature | Owner | Cashier | Stock Manager | Viewer |
|---|---|---|---|---|
| Dashboard (live) | ✅ | ❌ | ❌ | ✅ (limited) |
| Point of Sale | ✅ | ✅ | ❌ | ❌ |
| View buying prices | ✅ | ❌ | ❌ | ❌ |
| Sales history (all) | ✅ | Own only | ❌ | ❌ |
| Manage stock | ✅ | ❌ | ✅ | ❌ |
| Reports & PDF export | ✅ | ❌ | ❌ | ❌ |
| Manage team | ✅ | ❌ | ❌ | ❌ |
| WhatsApp/email alerts | ✅ | ❌ | ❌ | ❌ |
| Settings | ✅ | ❌ | ❌ | ❌ |
Hausa role names: Maigida (Owner) · Mai Sayarwa (Cashier) · Mai Kaya (Stock Manager) · Mai Kallo (Viewer)
The app name on the homescreen will be "NC Stock"
.env.exampleNEXT_PUBLIC_SUPABASE_URL
NEXT_PUBLIC_SUPABASE_ANON_KEY
SUPABASE_SERVICE_ROLE_KEY
NEXT_PUBLIC_PAYSTACK_PUBLIC_KEY
PAYSTACK_SECRET_KEY
RESEND_API_KEY
RESEND_FROM_EMAIL
NEXT_PUBLIC_WHATSAPP_NUMBER
NEXT_PUBLIC_SITE_URL
| Layer | Technology |
|---|---|
| Framework | Next.js 14 (App Router) |
| Language | TypeScript |
| Styling | Tailwind CSS + shadcn/ui |
| Animations | Framer Motion |
| Forms | React Hook Form + Zod |
| Charts | Recharts |
| i18n | next-intl (EN + Hausa) |
| jsPDF + jspdf-autotable | |
| Database | Supabase PostgreSQL |
| Auth | Supabase Auth |
| Realtime | Supabase Realtime |
| Storage | Supabase Storage |
| Functions | Supabase Edge Functions |
| Payments | Paystack |
| Resend | |
| Deployment | Vercel |
stockshop-stock/
├── app/
│ ├── [locale]/
│ │ ├── (auth)/login/ ← Login page
│ │ ├── (app)/
│ │ │ ├── dashboard/ ← Live dashboard
│ │ │ ├── sales/new/ ← Point of Sale
│ │ │ ├── sales/history/ ← Sales history
│ │ │ ├── stock/ ← Stock management
│ │ │ ├── stock/movements/ ← Movement log
│ │ │ ├── payments/ ← Credit payments
│ │ │ ├── customers/ ← Customer list
│ │ │ ├── suppliers/ ← Supplier list
│ │ │ ├── reports/ ← Business reports
│ │ │ ├── team/ ← Team management
│ │ │ └── settings/ ← Shop settings
│ │ └── offline/ ← PWA offline page
│ └── api/
│ ├── team/invite/ ← Invite employee
│ └── paystack/webhook/ ← Payment webhook
├── components/
│ ├── ui/ ← shadcn/ui components
│ ├── layout/ ← App layout, nav
│ └── dashboard/ ← Dashboard widgets
├── lib/
│ ├── supabase/ ← Client + server
│ ├── types/ ← TypeScript types
│ ├── hooks/ ← Custom hooks
│ ├── utils/ ← Currency, PDF, WhatsApp
│ └── validations/ ← Zod schemas
├── messages/
│ ├── en.json ← English strings
│ └── ha.json ← Hausa strings
├── supabase/
│ ├── migrations/001_schema.sql
│ ├── seed.sql
│ └── functions/ ← Edge Functions
└── public/
├── manifest.json ← PWA manifest
└── icons/ ← App icons
Built with ❤️ for Northern Nigeria boutique owners.
For issues, open a GitHub issue or contact via WhatsApp.