# Project Map: InsuRo
> Generated: 2026-04-20 04:34:38
> Path: /home/jay/projects/InsuRo

## Directory Tree (depth: 2)
```
InsuRo/
├── docs/
│   └── ANTHROPIC_KEY_SETUP.md
├── public/
│   ├── apple-touch-icon.png
│   ├── design-philosophy.md
│   ├── favicon-16.png
│   ├── favicon-32.png
│   ├── favicon-64.png
│   ├── favicon.ico
│   ├── favicon.svg
│   ├── offline.html
│   ├── placeholder.svg
│   ├── pwa-192.png
│   ├── pwa-512.png
│   ├── robots.txt
│   └── sw-push.js
├── scripts/
│   ├── convert-to-webp.sh
│   └── run_migrations.py
├── server/
│   ├── schemas/
│   ├── scripts/
│   ├── tests/
│   ├── .env.example
│   ├── ai_parser.py
│   ├── anu_provider.py
│   ├── gdrive.py
│   ├── gdrive_sync.py
│   ├── ingest_fcpa.py
│   ├── main.py
│   ├── pipeline.py
│   ├── pyproject.toml
│   ├── pyrightconfig.json
│   ├── requirements.txt
│   └── run.sh
├── src/
│   ├── assets/
│   ├── components/
│   ├── config/
│   ├── data/
│   ├── hooks/
│   ├── integrations/
│   ├── lib/
│   ├── pages/
│   ├── test/
│   ├── App.css
│   ├── App.tsx
│   ├── index.css
│   ├── main.tsx
│   └── vite-env.d.ts
├── supabase/
│   ├── functions/
│   ├── migrations/
│   ├── combined-migration.sql
│   └── config.toml
├── tests/
│   ├── smoke-routes.test.tsx
│   └── test_task542_1.py
├── .gitignore
├── bun.lock
├── bun.lockb
├── capacitor.config.json
├── components.json
├── eslint.config.js
├── index.html
├── package-lock.json
├── package.json
├── postcss.config.js
├── README.md
├── tailwind.config.ts
├── tsconfig.app.json
├── tsconfig.json
├── tsconfig.node.json
├── vite.config.ts
├── vite.log
└── vitest.config.ts
```

## Types & Interfaces
- `src/components/image-generator/types.ts`: `RatioOption`, `ConceptOption`, `LayoutOption`, `TextDensityOption`, `AlignmentOption`, `BackgroundPatternOption`, `ImagePurposeOption`, `SlideContent`, `FontSizeOption`, `ImageGenSettings`
- `src/components/navigation/navigationConfig.ts`: `DomainTabId`, `SubMenuItem`, `DomainTab`, `AdminMenuItem`
- `src/config/planFeatureMap.ts`: `FeatureConfig`
- `src/config/routes.ts`: `RouteConfig`, `MenuSection`, `SidebarOnlyItem`
- `src/data/generateOptions.ts`: `SelectOption`, `ModelTier`, `AiModelOption`, `GenerateSettings`
- `src/data/insurance-companies.ts`: `Category`, `InsuranceCompany`
- `src/hooks/use-fcpa-config.ts`: `FcpaChecklistItem`, `FcpaConfig`
- `src/hooks/use-pricing-data.ts`: `PricingPlan`, `FeatureDefinition`, `TokenConfig`, `PlanAIModel`, `PricingData`
- `src/hooks/use-remaining-seats.ts`: `RemainingSeatsData`
- `src/hooks/use-setting-presets.ts`: `SettingPreset`
- `src/hooks/use-user-plan.ts`: `PlanTier`, `UserPlanInfo`
- `src/hooks/use-user-tokens.ts`: `UserTokenInfo`
- `src/hooks/usePlanFeatures.ts`: `PlanFeaturesInfo`
- `src/integrations/supabase/types.ts`: `Json`, `Database`, `Tables`, `TablesInsert`, `TablesUpdate`, `Enums`, `CompositeTypes`
- `supabase/functions/_shared/ai-provider.ts`: `AIProvider`, `AICallOptions`, `AICallResult`

## API Routes
_(API 라우트 없음)_

## Components
- `ActivityTimelineTab` → `src/components/crm/ActivityTimelineTab.tsx`
- `AIUsageTab` → `src/components/AIUsageTab.tsx`
- `AppSidebar` → `src/components/AppSidebar.tsx`
- `AudioRecorder` → `src/components/crm/AudioRecorder.tsx`
- `AuthForm` → `src/components/AuthForm.tsx`
- `AuthGuard` → `src/components/AuthGuard.tsx`
- `AutomationStepper` → `src/components/AutomationStepper.tsx`
- `CallLogTab` → `src/components/crm/CallLogTab.tsx`
- `ChatNotificationListener` → `src/components/ChatNotificationListener.tsx`
- `CommunityBoard` → `src/components/CommunityBoard.tsx`
- `ConsentTab` → `src/components/crm/ConsentTab.tsx`
- `ConsultationEval` → `src/components/crm/ConsultationEval.tsx`
- `ContentCalendarTab` → `src/components/ContentCalendarTab.tsx`
- `ContentHistoryTab` → `src/components/ContentHistoryTab.tsx`
- `ContextSubMenu` → `src/components/navigation/ContextSubMenu.tsx`
- `CopilotPanel` → `src/components/crm/CopilotPanel.tsx`
- `CustomerExport` → `src/components/crm/CustomerExport.tsx`
- `CustomerImport` → `src/components/crm/CustomerImport.tsx`
- `DashboardLayout` → `src/components/DashboardLayout.tsx`
- `FeatureGate` → `src/components/FeatureGate.tsx`
- `FloatingGuide` → `src/components/FloatingGuide.tsx`
- `GenerateSettingsPanel` → `src/components/GenerateSettingsPanel.tsx`
- `ImageGeneratorPanel` → `src/components/ImageGeneratorPanel.tsx`
- `ImageResults` → `src/components/image-generator/ImageResults.tsx`
- `KakaoAnalysis` → `src/components/crm/KakaoAnalysis.tsx`
- `LayoutPreview` → `src/components/image-generator/LayoutPreview.tsx`
- `LockedFeatureOverlay` → `src/components/LockedFeatureOverlay.tsx`
- `MobileBottomNav` → `src/components/navigation/MobileBottomNav.tsx`
- `NavLink` → `src/components/NavLink.tsx`
- `OptimizedImage` → `src/components/ui/optimized-image.tsx`
- `OptionSelector` → `src/components/image-generator/OptionSelector.tsx`
- `ParticleBackground` → `src/components/ParticleBackground.tsx`
- `PlanGuard` → `src/components/PlanGuard.tsx`
- `PlanUpgradeDialog` → `src/components/PlanUpgradeDialog.tsx`
- `PremiumCtaCard` → `src/components/navigation/PremiumCtaCard.tsx`
- `PwaInstallPrompt` → `src/components/PwaInstallPrompt.tsx`
- `RegenerateFeedbackModal` → `src/components/image-generator/RegenerateFeedbackModal.tsx`
- `SavingsCalculator` → `src/components/calculators/SavingsCalculator.tsx`
- `SlideEditor` → `src/components/image-generator/SlideEditor.tsx`
- `SummaryTab` → `src/components/crm/SummaryTab.tsx`
- `TokenBalance` → `src/components/TokenBalance.tsx`
- `TokenUsageHistory` → `src/components/TokenUsageHistory.tsx`
- `TopNavBar` → `src/components/navigation/TopNavBar.tsx`
- `UpgradeModal` → `src/components/UpgradeModal.tsx`

## Configuration Summary
### package.json
- **Name**: vite_react_shadcn_ts
- **Version**: 0.0.0
- **Scripts**: dev, build, build:dev, lint, preview, test, test:watch
- **Dependencies**: @capacitor/cli, @dnd-kit/core, @dnd-kit/sortable, @dnd-kit/utilities, @hookform/resolvers, @radix-ui/react-accordion, @radix-ui/react-alert-dialog, @radix-ui/react-aspect-ratio, @radix-ui/react-avatar, @radix-ui/react-checkbox, @radix-ui/react-collapsible, @radix-ui/react-context-menu, @radix-ui/react-dialog, @radix-ui/react-dropdown-menu, @radix-ui/react-hover-card, @radix-ui/react-label, @radix-ui/react-menubar, @radix-ui/react-navigation-menu, @radix-ui/react-popover, @radix-ui/react-progress, @radix-ui/react-radio-group, @radix-ui/react-scroll-area, @radix-ui/react-select, @radix-ui/react-separator, @radix-ui/react-slider, @radix-ui/react-slot, @radix-ui/react-switch, @radix-ui/react-tabs, @radix-ui/react-toast, @radix-ui/react-toggle, @radix-ui/react-toggle-group, @radix-ui/react-tooltip, @supabase/supabase-js, @tanstack/react-query, class-variance-authority, clsx, cmdk, date-fns, embla-carousel-react, framer-motion, input-otp, lucide-react, next-themes, react, react-day-picker, react-dom, react-hook-form, react-markdown, react-resizable-panels, react-router-dom, recharts, rehype-raw, remark-gfm, sonner, tailwind-merge, tailwindcss-animate, vaul, vite-plugin-pwa, web-push, zod
- **DevDependencies**: @eslint/js, @tailwindcss/typography, @testing-library/jest-dom, @testing-library/react, @types/node, @types/react, @types/react-dom, @vitejs/plugin-react-swc, autoprefixer, eslint, eslint-plugin-react-hooks, eslint-plugin-react-refresh, globals, jsdom, postcss, tailwindcss, typescript, typescript-eslint, vite, vitest

### tsconfig.json
- **paths**:
  - `@/*` → `./src/*`

## Recently Modified Files (Top 20)
1. `server/main.py` (2026-04-19)
2. `src/components/crm/SummaryTab.tsx` (2026-04-19)
3. `src/pages/CrmMessenger.tsx` (2026-04-19)
4. `supabase/migrations/20260419100000_conversation_summaries.sql` (2026-04-19)
5. `src/pages/CrmCustomerDetail.tsx` (2026-04-19)
6. `server/pipeline.py` (2026-04-19)
7. `server/tests/test_pipeline.py` (2026-04-19)
8. `src/pages/AiAutomation.tsx` (2026-04-19)
9. `src/components/AutomationStepper.tsx` (2026-04-19)
10. `src/hooks/use-pipeline-status.ts` (2026-04-19)
11. `server/schemas/__init__.py` (2026-04-19)
12. `server/schemas/pipeline.py` (2026-04-19)
13. `server/tests/test_main.py` (2026-04-19)
14. `src/pages/Intro.tsx` (2026-04-19)
15. `src/pages/Pricing.tsx` (2026-04-19)
16. `src/hooks/use-remaining-seats.ts` (2026-04-19)
17. `src/components/crm/CopilotPanel.tsx` (2026-04-19)
18. `src/pages/InsuWikiIntro.tsx` (2026-04-19)
19. `src/config/routes.ts` (2026-04-19)
20. `src/config/planFeatureMap.ts` (2026-04-19)
