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.