Synaplan
기업을 위한 오픈소스 AI 플랫폼
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기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