Synaplan
开源 AI 软件平台,面向企业:自托管 AI 代理,符合 GDPR 的聊天机器人小部件,RAG 知识库,WhatsApp 与 Outlook AI,MCP,多模型路由。支持 Docker、Kubernetes 或在 Germ 托管。
AI 翻译
尚未检测到更新。GitHub 发布版本后会显示在这里。
正在加载完整 README。 以下为已保存的摘录。
Booking platform for barber shops. Thai pronunciation: บาร์เบอร์ควิกซ์. BarberQx is the platform, not the shop. On customer pages the merchant brand comes first; BarberQx stays a small platform signature. Brand rules live in docs/BRAND.md. Cursor/agent brand workflow lives in README_FOR_CURSOR.txt. Product OS: docs/barberqx-os/README.md. This README is the map, not the full spec. Customers book from the shop’s LINE OA using BarberQx LIFF. Owners get a queue board, team, hours, and shop settings without building their own booking system.查看完整 README ↗
Booking platform for barber shops. Thai pronunciation: คลิปเปอร์คิว.
ClipperQ is the platform, not the shop. On customer pages the merchant brand comes first; ClipperQ stays a small platform signature. Brand rules live in docs/BRAND.md. Cursor/agent brand workflow lives in README_FOR_CURSOR.txt.
Product OS: docs/barberqx-os/README.md. This README is the map, not the full spec.
Customers book from the shop’s LINE OA using ClipperQ LIFF. Owners get a queue board, team, hours, and shop settings without building their own booking system.
Each shop is a tenant at /{shopSlug} (example seed shop: /phinxstudio).
/{shopSlug}: barber, date, time, confirm/{shopSlug}/bookings/owner/join/{shopSlug}/admin/setupPlatform ops: /superadmin (shop invites, LINE OA requests) and /pilot (production pilot checklist).
@line/liff)src/app/ routes + API (`/[shop]`, `/admin` re-exports, `/api`)
src/components/ customer, admin, layout, superadmin
src/lib/ booking, auth, shop, data (memory + supabase)
src/types/ shared types
supabase/migrations SQL + Storage buckets
docs/BRAND.md brand system
docs/barberqx-os/ product operating system
public/brand/ approved ClipperQ assets
Shop-scoped APIs: /api/[shop]/…. Legacy unscoped /api/bookings etc. still exist; prefer shop-scoped routes.
npm run dev
Open http://localhost:3000. Copy env from .env.example.
Without NEXT_PUBLIC_SUPABASE_URL + SUPABASE_SERVICE_ROLE_KEY, the app uses the memory store (prototype). Production requires those plus NEXT_PUBLIC_LIFF_ID, NEXT_PUBLIC_APP_URL, and SUPERADMIN_TOKEN.
Dedicated QA environment (Tommy): step-by-step Thai guide in docs/qa-setup.md.
npm run lint
npm run typecheck
npm run test:shop
npm run test:booking
npm run test:security
npm run test:onboarding
npm run build
npm run start
ชุดตรวจ UI อัตโนมัติยิงไปที่ barberq-qa เท่านั้น (ร้าน barberqpilottest) — ห้ามยิง Production (barber-q / barber-q-pi.vercel.app) สคริปต์จะ hard-fail ถ้า base URL เป็นโปรดักชัน
# หน้าสาธารณะ (ไม่ต้องมี secret)
QA_BASE_URL=https://barberq-qa.vercel.app npm run qa:crawl
# รวมหน้า admin เมื่อ deploy แล้วตั้ง QA_E2E_SECRET บน Vercel barberq-qa
QA_BASE_URL=https://barberq-qa.vercel.app QA_E2E_SECRET=… npm run qa:crawl
ผลลัพธ์: report/index.html (กริดภาพ 3 viewport + ปัญหาเรียง fail/warn) และ report/summary.json
Workflow มือ (workflow_dispatch): .github/workflows/qa-ui-crawl.yml — อัปโหลด artifact ไม่บังคับใน CI
Env ที่ต้องใส่ใน Vercel โปรเจกต์ barberq-qa (ชื่ออย่างเดียว): QA_E2E_SECRET (และต้องมีอยู่แล้ว: BARBERQ_ENV, NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_APP_URL) — ห้ามใส่บน Production
super_admin role on the shop.SUPERADMIN_TOKEN), not a shop owner.0.1.0, private. Product is in pilot / beta: real shops can be invited from Super Admin and exercised via /pilot. Local prototype mode is for development only; production must not use the memory store or LINE mock auth.