Synaplan
開源 AI 平台,供企業使用:自行託管的 AI 代理、符合 GDPR 的聊天機器人小工具、RAG 知識庫、WhatsApp 與 Outlook AI、MCP、多模型路由。Docker、Kubernetes 或託管於 Germ
AI 翻譯
尚未收集儲存庫資訊。
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Real estate CRM that replaces Cratio. See SPEC.md for scope and decisions.
supabase/migrations/0001_core.sql: schema, access rules (row level security), triggers, capture function.supabase/migrations/0002_dashboard.sql: dashboard_stats(from, to), role-aware funnel numbers.supabase/migrations/0003_workflows.sql: the day-to-day workflows found in the Cratio review: adding leads by hand (create_lead, never duplicates), extra lead and contact fields, tasks, notes, owner history, untouched-lead rotation (rotate_untouched), follow-up and task reminders (queue_reminders), notifications and push subscriptions, call logging from phones and the web (log_call, log_calls, attach_recording), attendance and location, saved views, message templates, editable dropdown lists, CSV import (import_leads).supabase/cron.sql (scheduled jobs) and supabase/storage.sql (call recordings bucket): run once on the Supabase project.web/: Next.js app. Dashboard, follow-up queue, leads (filters, saved views, bulk edit, export, Cratio-compatible import, add lead), lead page (tabs for activity, tasks, notes, calls, site visits, enquiries, history; WhatsApp and email templates; previous and next), tasks planner, calls with top callers, attendance, notifications with web push, admin (staff, lead rules, lists, templates, capture). Installable on phones as an app (PWA).mobile/: Expo app for Android and iPhone. See mobile/README.md. Android logs calls by itself from the phone's call log.tests/: ./tests/run.sh rebuilds a throwaway Postgres 16 database and runs 143 database checks across every role.capture_endpoints with a slug, project, source, team, and the SHA-256 hex of a secret you choose./functions/v1/capture/<slug> with the header x-capture-secret: <secret>.field_map if the form's field names differ from the default (contact, mobile, email, city, category, date).seed.sql to a Supabase project (SQL editor, or supabase db push).profiles (id = the auth user id, full_name, role, team_id).cd web && cp .env.example .env.local, fill the project URL and the publishable (anon) key, then npm install && npm run dev.
The app never holds the service role key. Only the capture edge function does.Needs a Supabase project and a Vercel project. Apply the migration and seed, deploy the function, set SUPABASE_URL and SUPABASE_SERVICE_ROLE_KEY. Never commit keys.
brew install postgresql@16 (Node 20+ also needed).cd local && sh start.sh (add --reset to reload demo data, --lan to open it to phones on the same Wi-Fi). Opens http://localhost:3000.demo1234: admin@, manager.lko@, priya@ (agent), marketing@ — all @relive.test../send-test-lead.sh (run twice with the same number to see a re-enquiry).
Data lives in ~/.relive-crm-local. This stack is for testing only; production uses Supabase.web/public/emoji).web. Framework: Next.js. Every push to main deploys to production.supabase/migrations and apply it to the Supabase project before merging the code that needs it.Deployments from GitHub are live: a push to main builds the web app from the web folder on Vercel.