Synaplan
开源 AI 软件平台,面向企业:自托管 AI 代理,符合 GDPR 的聊天机器人小部件,RAG 知识库,WhatsApp 与 Outlook AI,MCP,多模型路由。支持 Docker、Kubernetes 或在 Germ 托管。
AI 翻译
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
A production, multi-tenant SaaS for small businesses that unifies CRM, appointments, packages/memberships, online booking, staff management, finance and a data-driven "smart assistant" in a single, mobile-friendly panel — designed to be sector-independent (pilates & fitness studios, beauty & hair salons, clinics, tutoring, and any appointment-based business).
Designed and built end-to-end (full-stack, solo) — and used by real small businesses across multiple sectors (pilates studio, beauty salon, hair salon, medical retail).查看完整 README ↗A production, multi-tenant SaaS for small businesses that unifies CRM, appointments, packages/memberships, online booking, staff management, finance and a data-driven "smart assistant" in a single, mobile-friendly panel — designed to be sector-independent (pilates & fitness studios, beauty & hair salons, clinics, tutoring, and any appointment-based business).
Designed and built end-to-end (full-stack, solo) — and used by real small businesses across multiple sectors (pilates studio, beauty salon, hair salon, medical retail).
🔗 Live demo: https://isletme-asistan.vercel.app
| Landing | Smart Assistant | Notes |
|---|---|---|
This is not a CRUD demo — it's a real product solving real operational problems for owner-operated businesses, with production concerns handled end-to-end:
Customers (CRM)
Appointments & Calendar
Packages & Memberships
Online Booking (customer self-service)
Staff & Roles
Finance & Reports
Smart Assistant (no external AI)
Messaging & Notifications
{ad} {tarih} {saat} {hizmet} {paket} {kalan} {isletme}), one-tap WhatsApp (free, via wa.me), bulk messaging by segment/tag| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router, React Server Components) |
| Language | TypeScript |
| UI | React 19, Tailwind CSS 4, lucide-react, sonner |
| Backend / DB | Supabase — PostgreSQL, Auth (@supabase/ssr), Row-Level Security |
| Validation | Zod |
| Notifications | Web Push (VAPID, web-push) + external cron |
| Mobile | PWA + Capacitor (Android) |
| Hosting | Vercel (CI/CD on push) |
organization_id; a security-definer user_org_ids() function backs the policies so each business only ever sees its own data. Verified with end-to-end isolation tests (an anon or cross-tenant client cannot read protected tables).is_org_owner(), owner_org_ids(), current_staff_id() power role-based policies; employees are limited to their own records by the policy, not the client. Employee invites are wired server-side with the service-role key so privilege can't be self-granted.Europe/Istanbul regardless of server timezone; membership lookups are always filtered by user_id to stay correct once a business has multiple members.src/
app/(app)/ # authenticated panel: dashboard, customers, appointments,
# calendar, packages, reports, expenses, assistant, settings…
app/(auth)/ # login / signup
app/b/[org]/ # public online-booking page
app/api/ # route handlers (push, booking, staff invite…)
components/ # UI + feature components
lib/ # domain logic (insights, packages, templates, time, phone…)
supabase/
schema.sql # full schema + RLS (idempotent)
migrations/ # incremental, idempotent migrations (001–028)
npm install
cp .env.example .env.local # fill in Supabase + VAPID keys
npm run dev # http://localhost:3000
Required env: NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY (and, for push/server features, SUPABASE_SERVICE_ROLE_KEY, NEXT_PUBLIC_VAPID_PUBLIC_KEY, VAPID_PRIVATE_KEY). Run supabase/schema.sql then the files in supabase/migrations/ in your Supabase SQL editor.
Built by Şevval Uzunoğlu as a solo full-stack project — product design, database & security model, UI, and deployment. It runs entirely on a free stack (no paid API dependency) and is in active use by early real-world businesses.