Synaplan
開源 AI 平台,供企業使用:自行託管的 AI 代理、符合 GDPR 的聊天機器人小工具、RAG 知識庫、WhatsApp 與 Outlook AI、MCP、多模型路由。Docker、Kubernetes 或託管於 Germ
AI 翻譯
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
Furmosa 總部管理後台 — 將原本散落在多份 Google Sheet(食品下單、寄賣分成、換罐計畫、每週任務)的營運資料統一收斂為一套後台。 這是一套 HQ Admin Web App,提供總公司端的完整營運視角,目標是在保有清楚資料模型的前提下,做出可立即落地的 MVP,並保留後續對接官網、LINE、寄賣門市的擴充空間。 • Next.js 14 App Router · TypeScript · React 18 • Tailwind CSS · shadcn/ui · Lucide icons • Recharts(Dashboard 視覺化) • Prisma ORM · SQLite(預設,零安裝) / PostgreSQL(可切換) • Auth:bcryptjs + jose(JWT cookie session,Email + 密碼登入) • React Hook Form + Zod(後續表單) • TanStack Table(後續複雜列表) • Zustand(後續輕量 state) • date-fns + next-themes檢視完整 README ↗
Furmosa 總部管理後台 — 將原本散落在多份 Google Sheet(食品下單、寄賣分成、換罐計畫、每週任務)的營運資料統一收斂為一套後台。
這是一套 HQ Admin Web App,提供總公司端的完整營運視角,目標是在保有清楚資料模型的前提下,做出可立即落地的 MVP,並保留後續對接官網、LINE、寄賣門市的擴充空間。
| 角色 | 主要使用情境 |
|---|---|
| 總公司管理者 | Dashboard 看營收、庫存、寄賣門市表現、會員與點數狀況 |
| 內部營運同仁 | 管理廠商、客戶、產品、訂單、庫存異動、結算與任務 |
| 財務 | 寄賣月結、店家分潤、換罐贈品撥款 |
| 倉管 | 即時庫存、補貨警示、入出庫紀錄 |
.
├── app/
│ ├── layout.tsx # 全站 root layout
│ ├── page.tsx # 重導到 /dashboard
│ ├── globals.css
│ └── (main)/ # 全站受保護的 admin 區
│ ├── layout.tsx # Sidebar + Topbar
│ ├── dashboard/
│ ├── vendors/[id]/
│ ├── customers/[id]/
│ ├── merchants/[id]/
│ ├── products/[id]/
│ ├── warehouses/
│ ├── orders/[id]/
│ ├── inventory/
│ │ └── transactions/
│ ├── settlements/[id]/
│ ├── members/[id]/
│ ├── points/
│ ├── rewards/
│ ├── redemptions/
│ └── tasks/
├── components/
│ ├── ui/ # shadcn 元件
│ ├── layout/ # Sidebar / Topbar
│ └── shared/ # 共用元件 (StatCard, StatusBadge, EmptyState …)
├── features/
│ └── dashboard/ # Dashboard query + 圖表
├── lib/ # prisma / format / labels / nav / utils
├── prisma/
│ ├── schema.prisma
│ └── seed.ts
├── package.json
└── README.md
| 模組 | 路徑 | 重點 |
|---|---|---|
| Dashboard | /dashboard | KPI 卡 + 30 天營收 + 來源分布 + 熱銷 + 寄賣排行 + 庫存警示 + 待辦 |
| 廠商 Vendors | /vendors | 廠商主檔、聯絡方式、付款條件,可從商品點到廠商詳情 |
| 客戶 Customers | /customers | 客戶資料 + 累計消費 + 最近訂單 |
| 寄賣店家 Merchants | /merchants | 寄賣 / 快閃 / 旗艦 / 合作夥伴 + 分潤率 + 結算紀錄 |
| 產品 Products | /products | 含廠商連結、毛利、補貨點、各倉庫庫存 |
| 倉庫 Warehouses | /warehouses | 各倉 SKU 數、總件數、異動數 |
| 訂單 Orders | /orders | 來源切換 (官網/LINE/寄賣/手動)、狀態 / 付款 / 出貨 全分離 |
| 即時庫存 | /inventory | 各倉數量、補貨警示 |
| 庫存異動 | /inventory/transactions | 採購入庫、銷售出庫、調撥、盤點、退貨 |
| 寄賣結算 | /settlements | 月度結算、分潤 + 換罐贈品補貼分科目 |
| 會員 | /members | 點數帳戶、累計入點 / 兌換、LINE 綁定 |
| 點數帳本 | /points | 全站點數流水(序號 / 訂單 / 活動 / 兌換 / 過期) |
| 兌換商品 | /rewards | 點數可兌換的贈品 + 公司成本 |
| 兌換紀錄 | /redemptions | 履約寄賣店家 + 應付金額對帳 |
| 任務看板 | /tasks | todo / in_progress / blocked / done 四欄看板 |
| 實體 | 範例 |
|---|---|
| 廠商 | VEND-0001 |
| 客戶 | furmosa-0001 |
| 寄賣店家 | MER-0001 |
| 商品 | PROD-0001,SKU SKU-00001 |
| 倉庫 | WH-MAIN、WH-SOUTH、WH-CONSIGN |
| 訂單 | ORD-202605-001 |
| 庫存異動 | INV-202605-001 |
| 結算 | SET-202605-001 |
| 會員 | MEM-0001 |
| 贈品 | RWD-0001 |
| 兌換 | RED-0001 |
| 任務 | TASK-0001 |
cp .env.example .env
npm install
npm run db:setup # = prisma db push + prisma db seed
npm run dev
打開 http://localhost:3000,會跳轉到登入頁。
Can't reach database server at localhost:5432代表執行中的 DATABASE_URL 仍指向 PostgreSQL,但本機沒有在 5432 跑資料庫。請依序檢查:
.env 與 .env.local(若存在):DATABASE_URL 必須為DATABASE_URL="file:./dev.db"(SQLite,無需 Docker)。export DATABASE_URL=postgresql://... 的設定,或開新終端再跑 npm run dev。npm run db:setup 產生 prisma/dev.db 與種子帳號後,完全重啟 npm run dev。密碼皆為 furmosa2026
| 角色 | |
|---|---|
[email protected] | 系統管理員 |
[email protected] | 財務 |
[email protected] | 營運 |
[email protected] | 倉管 |
上線前請務必到
.env修改AUTH_SECRET。
prisma/schema.prisma,把 provider = "sqlite" 改回 "postgresql"Float 改回 Decimal,tags String 改回 String[].env:
DATABASE_URL="postgresql://postgres:postgres@localhost:5432/furmosa?schema=public"
npm run db:setup| Script | 用途 |
|---|---|
npm run dev | 開發模式 |
npm run build | 編譯生產版本 |
npm run start | 啟動生產伺服器 |
npm run prisma:studio | 開 Prisma Studio 視覺化檢視資料 |
npm run db:reset | 重置資料庫 + 重新灌 seed |
執行 npm run prisma:seed 後會建立:
Order(source=website),同時寫 pointLedger(贈點)。point_serials / serial_batches 兩張表,序號發行可關聯到寄賣店家。User、Member 之上做角色分流。services/,封裝 query 與 mutation,再由 server actions / route handlers 暴露。InventoryTransaction(type=stocktake) 升級成 Stocktake + StocktakeItem 雙表。export 按鈕。User.role + middleware 控制路由可見性。內部專案,未經許可請勿外傳。