Shared Dependencies:
-
Firebase Authentication: Used in "src/firebaseConfig.ts" for user authentication and shared with "src/App.tsx" for user login status.
-
React: Used in all the ".tsx" files for creating React components.
-
Typescript: Used in all ".tsx" and ".ts" files for static typing.
-
CSS: Used in all ".css" files for styling the components. Shared between corresponding ".tsx" and ".css" files.
-
Map Libraries (react-leaflet or @react-google-maps/api): Used in "src/components/Map/Map.tsx" and "src/components/Map/MapMarker.tsx" for map and marker implementation.
-
OpenAI: Used in "src/components/Chat/ChatBox.tsx" and "src/components/Chat/ChatMessage.tsx" for chatbot functionality.
-
Express.js: Used in "server/index.js", "server/routes/chat.js", and "server/routes/map.js" for creating server and routes.
-
MongoDB or PostgreSQL or Firebase: Used in "server/db.js" for database connection and shared with "server/models/ChatMessage.js" and "server/models/MapMarker.js" for data schemas.
-
dotenv: Used in "server/.env" for environment variables and shared with "server/index.js" for server configuration.
-
Exported Variables: "firebaseConfig" from "src/firebaseConfig.ts" is used in "src/App.tsx". "ChatBox" and "ChatMessage" from "src/components/Chat" are used in "src/App.tsx". "Map" and "MapMarker" from "src/components/Map" are used in "src/App.tsx".
-
Data Schemas: Defined in "server/models/ChatMessage.js" and "server/models/MapMarker.js" and used in "server/routes/chat.js" and "server/routes/map.js".
-
DOM Element IDs: Defined in ".tsx" files and used in corresponding ".css" files for styling.
-
Message Names: Defined in "src/components/Chat/ChatMessage.tsx" and used in "src/components/Chat/ChatBox.tsx" for displaying messages.
-
Function Names: Defined in ".tsx" and ".js" files and used across multiple files for various functionalities.