mirror of
https://github.com/borbann-platform/backend-api.git
synced 2025-12-18 20:24:05 +01:00
89 lines
3.4 KiB
Markdown
89 lines
3.4 KiB
Markdown
```markdown
|
|
frontend/
|
|
├── features/ # <= NEW: Feature-specific modules
|
|
│ ├── map/
|
|
│ │ ├── api/ # API calls specific to the map
|
|
│ │ │ └── mapApi.ts # (Example)
|
|
│ │ ├── components/ # Map-specific UI components
|
|
│ │ │ ├── analytics-overlay.tsx
|
|
│ │ │ ├── analytics-panel.tsx
|
|
│ │ │ ├── area-chart.tsx
|
|
│ │ │ ├── chat-bot.tsx
|
|
│ │ │ ├── chat-overlay.tsx
|
|
│ │ │ ├── filters-overlay.tsx
|
|
│ │ │ ├── map-container.tsx
|
|
│ │ │ ├── map-header.tsx
|
|
│ │ │ ├── map-sidebar.tsx
|
|
│ │ │ ├── property-filters.tsx
|
|
│ │ │ └── overlay-system/ # Overlay specific components
|
|
│ │ │ ├── overlay-context.tsx
|
|
│ │ │ ├── overlay-dock.tsx
|
|
│ │ │ └── overlay.tsx
|
|
│ │ ├── hooks/ # Map-specific hooks
|
|
│ │ │ └── useMapInteractions.ts # (Example)
|
|
│ │ ├── types/ # Map-related types/interfaces
|
|
│ │ │ └── index.ts # (Example)
|
|
│ │ └── utils/ # Map-specific utilities
|
|
│ │ └── mapHelpers.ts # (Example)
|
|
│ └── model-explanation/
|
|
│ ├── components/ # Model Explanation specific components
|
|
│ │ ├── feature-importance-chart.tsx
|
|
│ │ └── price-comparison-chart.tsx
|
|
│ ├── api/
|
|
│ │ └── explanationApi.ts # (Example)
|
|
│ └── types/
|
|
│ └── index.ts # (Example)
|
|
│
|
|
├── components/
|
|
│ ├── ui/ # Shadcn UI components (KEEP AS IS)
|
|
│ │ └── ... (accordion.tsx, button.tsx, etc.)
|
|
│ └── common/ # <= NEW: Shared, app-wide components
|
|
│ ├── ThemeProvider.tsx # Moved from root components
|
|
│ ├── ThemeToggle.tsx # Moved from root components
|
|
│ ├── ThemeController.tsx # Moved from root components
|
|
│ └── PageLayout.tsx # (Example new shared layout)
|
|
│
|
|
├── lib/ # Core utilities, constants, config
|
|
│ └── utils.ts # (Keep cn function here)
|
|
│
|
|
├── hooks/ # Shared, app-wide hooks
|
|
│ ├── use-toast.ts # (Keep useToast here)
|
|
│ └── use-mobile.tsx # (Keep useIsMobile here)
|
|
│
|
|
├── services/ # <= OPTIONAL: Centralized API layer (alternative to features/\*/api)
|
|
│ └── apiClient.ts # (Example API client setup)
|
|
│
|
|
├── store/ # <= OPTIONAL: Global state management (e.g., Zustand, Jotai)
|
|
│ └── mapStore.ts # (Example store)
|
|
│
|
|
├── types/ # <= NEW: Shared, app-wide types/interfaces
|
|
│ ├── index.ts # Barrel file for types
|
|
│ └── api.ts # Example: General API response types
|
|
│
|
|
├── app/ # Next.js app router (routing, layouts, pages)
|
|
│ ├── (routes)/ # Keep actual route structure here
|
|
│ │ ├── map/
|
|
│ │ │ ├── layout.tsx # Imports common layout, feature components
|
|
│ │ │ └── page.tsx # Imports components from 'features/map/components'
|
|
│ │ ├── model-explanation/
|
|
│ │ │ └── page.tsx # Imports components from 'features/model-explanation/components'
|
|
│ │ └── page.tsx # Root page
|
|
│ ├── layout.tsx # Root layout (includes ThemeProvider)
|
|
│ ├── globals.css
|
|
│ └── favicon.ico
|
|
│
|
|
├── public/ # Static assets
|
|
│ └── ...
|
|
│
|
|
├── .gitignore
|
|
├── components.json
|
|
├── eslint.config.mjs
|
|
├── next-env.d.ts
|
|
├── next.config.ts
|
|
├── package.json
|
|
├── pnpm-lock.yaml
|
|
├── postcss.config.mjs
|
|
├── tailwind.config.ts
|
|
└── tsconfig.json
|
|
```
|