Synaplan
기업을 위한 오픈소스 AI 플랫폼
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗SnapQuote is a field-first quoting app for owner-operators and small trade crews.
Core promise:
Quote the job before you drive off.
It is built for the jobs where office software usually fails:
As of 2026-03-10, this repository is in "private beta ready" territory.
Validated locally:
pnpm lintpnpm testpnpm test:e2epnpm buildpnpm startpnpm smoke:deploy --base-url=http://127.0.0.1:3000Not yet proven enough for broad paid launch:
See:
| Area | Stack |
|---|---|
| Frontend | Next.js 16, React 18, TypeScript, Tailwind CSS |
| Local-first | IndexedDB via idb, service worker |
| Backend | Supabase Auth, Postgres, Edge Functions |
| AI | OpenAI and optional Gemini provider fallback |
| Documents | @react-pdf/renderer |
| Payments | Stripe + Stripe Connect |
| Messaging | Resend and optional Twilio |
pnpm install
cp .env.example .env.local
pnpm dev
Open http://localhost:3000.
Use .env.example as the source of truth.
Required for the core quote flow:
NEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_ANON_KEYSUPABASE_SERVICE_ROLE_KEYOPENAI_API_KEYRequired for billing:
STRIPE_SECRET_KEYSTRIPE_WEBHOOK_SECRETSTRIPE_BILLING_WEBHOOK_SECRETSTRIPE_BILLING_PRICE_STARTER_MONTHLYSTRIPE_BILLING_PRICE_PRO_MONTHLYSTRIPE_BILLING_PRICE_TEAM_MONTHLYRequired for email and operational alerts:
RESEND_API_KEYOPS_ALERT_EMAILOptional but recommended:
CRON_SECRETRATE_LIMIT_PROVIDER=upstashUPSTASH_REDIS_REST_URLUPSTASH_REDIS_REST_TOKENTWILIO_ACCOUNT_SIDTWILIO_AUTH_TOKENTWILIO_FROM_NUMBERGEMINI_API_KEYOAuth and magic-link redirects must point at a domain that actually resolves.
If sign-in lands on snapquote.app with DNS_PROBE_FINISHED_NXDOMAIN, either
connect DNS for that domain or replace it in Supabase with the real production
URL.
In Supabase Dashboard -> Authentication -> URL Configuration:
https://<production-domain>/**http://localhost:3000/**https://*-<vercel-team-or-account-slug>.vercel.app/**In Authentication -> Providers -> Google:
https://<project-ref>.supabase.co/auth/v1/callback.If custom Supabase email templates are enabled, make sure magic-link templates
use {{ .RedirectTo }} rather than hard-coding {{ .SiteURL }} so the app's
/auth/callback redirect is honored.
pnpm dev
pnpm lint
pnpm test
pnpm test:e2e
pnpm build
pnpm start
pnpm validate:env --preset=beta
pnpm smoke:deploy --base-url=http://127.0.0.1:3000
app/
api/ API routes for AI, billing, messaging, sync, analytics
landing/ Marketing landing page
new-estimate/ Core field quote builder
pricing/ Self-serve pricing page
components/
audio-recorder.tsx Voice capture UI
estimate-pdf.tsx PDF document renderer
pdf-preview-modal.tsx Quote preview and download
lib/
db.ts IndexedDB stores
estimates-storage.ts Local quote persistence helpers
rate-limit.ts Memory and Upstash rate limiting
server/ Auth, billing, usage quota helpers
MIT