How rishabhdev06/cfo-helper works
CFO Helper is a browser-based financial planning and forecasting product for Indian businesses. Users enter organization details during onboarding, adjust financial and custom business inputs, run forecasts, inspect dashboard metrics and charts, and export PDF reports; an AI advisor is a separate assistance capability. The graph combines the sampled app, onboarding, persistence, AI and export code with capabilities documented in the README. Dashboard and several feature components were not sampled, so their internal wiring is represented only where the product workflow supports it.
Main entry points: Dashboard.tsx Dashboard · OnboardingFlow.tsx Organization setup · App.tsx App · useSupabase.ts User data hook
Components 18
App entry
- App
src/App.tsx - Landing page
src/components/LandingPage.tsx
Planning experience
- Organization setup
src/components/OnboardingFlow.tsx - Dashboard
src/components/Dashboard.tsx - Financial inputs
src/components/InputPanel.tsx - Advanced controls
src/components/AdvancedInputPanel.tsx - Financial types
src/types/financial.ts
Accounts and data
- User data hook
src/hooks/useSupabase.ts - Database services
src/services/databaseService.ts - Supabase client
src/lib/supabase.ts
Insights and reports
- Forecast results
src/components/ResultsPanel.tsx - AI advisor chat
src/components/AIChatBot.tsx - AI advisor service
src/services/aiAdvisor.ts - PDF report export
src/utils/pdfExport.ts
Other components
- Business user
- Clerk auth
- Gemini API
- Supabase
Connections 24
- Business user → Landing page: views
- Landing page → Clerk auth: starts sign-in
- Clerk auth → App: authenticates
- App → Landing page: shows signed-out
- App → Organization setup: shows signed-in
- Organization setup → Dashboard: renders after setup
- Organization setup → Clerk auth: updates metadata
- Organization setup → Database services: creates profile
- Business user → Organization setup: provides org details
- Business user → Financial inputs: sets parameters
- Dashboard → Financial inputs: presents controls
- Dashboard → Advanced controls: presents advanced controls
- Dashboard → Forecast results: presents analysis
- Financial inputs → Financial types: uses input model
- Advanced controls → Financial types: uses input model
- Business user → AI advisor chat: asks advice
- AI advisor chat → AI advisor service: sends message
- AI advisor service → Gemini API: generates response
- Forecast results → PDF report export: exports report
- Dashboard → User data hook: loads user data
- User data hook → Clerk auth: reads signed-in user
- User data hook → Database services: loads and saves data
- Database services → Supabase client: queries through
- Supabase client → Supabase: reads and writes