backend-api/frontend
2025-04-11 17:56:42 +07:00
..
app feat: add ChatPanel and FiltersPanel components to MapsPage for enhanced user interaction and filtering options 2025-04-11 17:56:42 +07:00
components feat: add ChatPanel and FiltersPanel components to MapsPage for enhanced user interaction and filtering options 2025-04-11 17:56:42 +07:00
hooks refactor: remove unrelated files and restructure 2025-04-08 01:21:07 +07:00
lib refactor: restructure the frontend 2025-04-07 23:44:03 +07:00
public refactor: remove unrelated files and restructure 2025-04-08 01:21:07 +07:00
services refactor: remove unrelated files and restructure 2025-04-08 01:21:07 +07:00
store feat: integrate AnalyticsPanel component into MapsPage and refactor state management with useModelState 2025-04-11 11:55:19 +07:00
types refactor: remove unrelated files and restructure 2025-04-08 01:21:07 +07:00
.gitignore initial frontend commit 2025-04-07 21:07:56 +07:00
components.json refactor: remove unrelated files and restructure 2025-04-08 01:21:07 +07:00
eslint.config.mjs refactor: restructure the frontend 2025-04-07 23:44:03 +07:00
next.config.ts refactor: restructure the frontend 2025-04-07 23:44:03 +07:00
package.json Implement code changes to enhance functionality and improve performance 2025-04-11 17:25:39 +07:00
pnpm-lock.yaml Implement code changes to enhance functionality and improve performance 2025-04-11 17:25:39 +07:00
postcss.config.mjs initial frontend commit 2025-04-07 21:07:56 +07:00
README.md refactor: restructure the frontend 2025-04-07 23:44:03 +07:00
tsconfig.json refactor: restructure the frontend 2025-04-07 23:44:03 +07:00

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