How skyfalljoss/crm-vibecode works
SkyCRM is a team CRM web app. Visitors reach sign-in or sign-up from the landing page; authenticated users enter the workspace, where CRMApp loads and coordinates CRM data and presents dashboard, pipeline, leads, tasks, billing, and settings views. Lead import is a user-driven path from CSV upload and mapping through CRMApp’s import handler to persisted leads. The README documents analytics, shared workspaces, and export; their detailed wiring is not shown in the sampled source, so those links are kept at the documented subsystem level.
Main entry points: CRMApp.tsx Workspace controller · App.tsx Routes and guards · supabase.ts Supabase client · LandingPage.tsx Landing page
Components 21
Entry and identity
- Routes and guards
App.tsx - Landing page
src/pages/LandingPage.tsx - Sign-in / sign-up
src/pages/AuthPage.tsx - Session context
src/context/AuthContext.tsx - Supabase client
src/lib/supabase.ts
Workspace shell
- Workspace controller
CRMApp.tsx
Sales workflows
- Analytics dashboard
components/Dashboard.tsx - Deal pipeline
components/Pipeline.tsx - Lead tracking
components/LeadsList.tsx - Lead details
components/LeadDrawer.tsx - Create lead
components/NewLeadModal.tsx - CSV import
components/ImportModal.tsx - Task management
components/TasksList.tsx - Task details
components/TaskDrawer.tsx
Team operations
- Workspace onboarding
components/Onboarding.tsx - Team settings
components/Settings.tsx - Billing
components/Billing.tsx - Checkout page
src/pages/PaymentPage.tsx - CRM schema
supabase/schema.sql
Other components
- Visitor / user
- Supabase services
Connections 27
- Visitor / user → Landing page: visits
- Visitor / user → Routes and guards: opens app
- Landing page → Routes and guards: starts signup
- Routes and guards → Session context: provides session
- Routes and guards → Landing page: routes to
- Routes and guards → Sign-in / sign-up: routes to
- Routes and guards → Workspace controller: guards dashboard
- Routes and guards → Checkout page: routes to
- Sign-in / sign-up → Supabase client: authenticates
- Session context → Supabase client: reads session
- Supabase client → Supabase services: connects
- Workspace controller → Supabase client: loads and mutates
- Workspace controller → Workspace onboarding: presents setup
- Workspace controller → Analytics dashboard: renders
- Workspace controller → Deal pipeline: renders
- Workspace controller → Lead tracking: renders
- Workspace controller → Task management: renders
- Workspace controller → Team settings: renders
- Workspace controller → Billing: renders
- Workspace controller → Create lead: opens
- Workspace controller → Lead details: opens
- Workspace controller → Task details: opens
- Lead tracking → CSV import: opens import
- CSV import → Workspace controller: submits mapped leads
- Deal pipeline → Workspace controller: requests stage move
- Billing → Checkout page: opens checkout
- CRM schema → Supabase services: defines tables