Synaplan
開源 AI 平台,供企業使用:自行託管的 AI 代理、符合 GDPR 的聊天機器人小工具、RAG 知識庫、WhatsApp 與 Outlook AI、MCP、多模型路由。Docker、Kubernetes 或託管於 Germ
AI 翻譯
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Lead management and solar scoring app for Happy Solar
翻譯準備中
正在載入完整 README。 以下為已儲存的摘錄。
Solar lead management system for door-knocking sales teams.
Raydar replaces expensive tools like Sales Rabbit with a modern, affordable solution built specifically for solar sales teams.檢視完整 README ↗Solar lead management system for door-knocking sales teams.
Raydar replaces expensive tools like Sales Rabbit with a modern, affordable solution built specifically for solar sales teams.
npm install
Create .env.local:
# Firebase
NEXT_PUBLIC_FIREBASE_API_KEY=your_api_key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_domain
NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_bucket
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
NEXT_PUBLIC_FIREBASE_APP_ID=your_app_id
# Google APIs
NEXT_PUBLIC_GOOGLE_API_KEY=your_google_api_key
npm run dev
Open http://localhost:3000 to see the app.
npm run build
npm start
Automatically deploys to Vercel on push to main:
Live URL: https://happy-solar-leads.vercel.app/
app/
├── components/ # React components
│ ├── LeadMap.tsx # Interactive map
│ ├── LeadDetail.tsx # Lead detail panel
│ ├── AppMenu.tsx # Navigation menu
│ └── ...
├── types/ # TypeScript types
├── utils/ # Helper functions
│ ├── storage.ts # Firestore operations
│ └── firebase.ts # Firebase config
├── admin/ # Admin panel
├── territories/ # Territory management
└── page.tsx # Main app
Door-knock dispositions always save. GPS is optional: a missing fix or a distance past 50 meters is recorded (gpsVerified, gpsUnverifiedReason, gpsDistanceM) and does not block the disposition. Clients send gpsUnverifiedReason other only for a usable fix whose lead has no coordinates. A malformed fix is no_fix. Manual map pins still require the setter/manager to be within ~50 meters of the address. Admins and closers are not gated on pin creation.
A per-user override lives on the Firestore user doc:
users/{uid}.features.proximityEnforcement
true (default): manual map pins keep the 50m check. A door knock past 50m still saves, with gpsVerified false and gpsUnverifiedReason too_far.false: skip the pin-creation distance gate for that user only. Dispositions are not blocked either way./admin/users).users.name or email (the document ID is their Firebase Auth UID).features.proximityEnforcement to false (or delete the field / set true to restore the gate).William Breen: after this ships, waive proximity for his user (search Admin → Users or Firestore users for William Breen). This environment could not write his Firestore doc without admin credentials.
features.proximityEnforcement: false), open a lead far from your GPS and mark a door-knock disposition / drop a pin. It should save — no “not close enough” alert.true, do the same from far away. Disposition / pin create should be blocked with the existing distance alert.All logo files and brand guidelines are documented in:
/public/raydar-*.png (3 variations)BRAND-ASSETS.md - Complete usage guidelinesDESIGN-SYSTEM.md - Colors, typography, components/public/raydar-horizontal.png/public/raydar-icon.pngProprietary - Raydar (Happy Solar) Deploy trigger Fri Feb 20 18:22:06 MST 2026 Deploy test 2 Fri Feb 20 21:34:11 MST 2026