graph LR
src_App_tsx_Root_Component_["src/App.tsx (Root Component)"]
src_pages_Page_Components_["src/pages (Page Components)"]
src_components_Shared_UI_Components_["src/components (Shared UI Components)"]
src_components_Nodes_Specialized_Journey_Components_["src/components/Nodes (Specialized Journey Components)"]
src_store_State_Management_["src/store (State Management)"]
src_lib_api_ts_API_Service_["src/lib/api.ts (API Service)"]
src_App_tsx_Root_Component_ -- "defines routes for" --> src_pages_Page_Components_
src_pages_Page_Components_ -- "imports and assembles UI elements from" --> src_components_Shared_UI_Components_
src_pages_Page_Components_ -- "imports and assembles UI elements from" --> src_components_Nodes_Specialized_Journey_Components_
src_pages_Page_Components_ -- "dispatches actions and reads data from" --> src_store_State_Management_
src_components_Shared_UI_Components_ -- "dispatches actions and reads data from" --> src_store_State_Management_
src_store_State_Management_ -- "uses" --> src_lib_api_ts_API_Service_
This is a revised architectural analysis of the src subsystem, tying the analysis to the actual file structure to make the component structure more concrete and verifiable.
The main application shell. It sets up the primary routing structure that directs users to different pages (Dashboard, JourneyBuilder, etc.) and likely wraps the application in global context providers from src/store/provider.tsx.
Related Classes/Methods:
src/App.tsxsrc/index.tsx
A directory containing top-level components, where each file corresponds to a major view or page in the application. These components compose the overall layout for a given route.
Related Classes/Methods:
src/pages/Dashboard.tsxsrc/pages/JourneyBuilder.tsxsrc/pages/JourneyAnalytics.tsx
Contains a collection of reusable UI components that are shared across different pages. This includes general-purpose components like SideBar.tsx and more complex, feature-specific ones like Journey.tsx.
Related Classes/Methods:
src/components/src/components/SideBar.tsxsrc/components/Journey.tsx
A specialized subset of components responsible for rendering different types of nodes within the JourneyBuilder page. It includes a BaseNode and specific variations like EmailNode and WaitNode.
Related Classes/Methods:
src/components/Nodes/BaseNode.tsxsrc/components/Nodes/CustomNode.tsxsrc/components/Nodes/EmailNode.tsx
This directory centralizes the application's state. It defines the state structure (e.g., journey.ts), and provides the mechanism (provider.tsx) to make that state available to the entire component tree.
Related Classes/Methods:
src/store/src/store/journey.tssrc/store/provider.tsx
A dedicated module for handling all outbound network requests to the backend. It likely exports functions that encapsulate API endpoints, which are then used by the state management logic in src/store to fetch and update data.
Related Classes/Methods:
src/lib/api.ts