Folder Structure - digitalcityscience/TOSCA-2 GitHub Wiki
Folder Structure
This section provides a detailed breakdown of the project's folder structure, explaining the purpose of each directory and how different components interact.
Root Directory
📦 project-root
┣ 📂 public # Static assets
┣ 📂 src # Application source code
┃ ┣ 📂 components # Reusable Vue components
┃ ┣ 📂 core # Core utilities and helpers
┃ ┣ 📂 router # Vue Router configuration
┃ ┣ 📂 store # Pinia state management
┃ ┣ 📂 views # Page-level components
┃ ┣ 📜 main.ts # Entry point of the app
┣ 📜 package.json # Project dependencies
┣ 📜 tsconfig.json # TypeScript configuration
┣ 📜 vite.config.ts # Vite configuration
Detailed Breakdown
public/
This folder contains static assets such as icons and images that are directly accessible in the project.
src/
The main source code of the application.
components/
Contains reusable Vue components categorized into logical groups. Example:
📂 components
┣ 📂 Base # Base UI components
┣ 📂 Data # Geoserver Data listing components
┣ 📂 Geostories # Geospatial storytelling components
┣ 📂 Map # Mapping-related components
┣ 📂 Participation # Citizen participation UI
core/
Contains core utilities and helper functions that support various parts of the application.
📂 core
┣ 📂 helpers # Utility functions for geospatial operations
router/
Contains Vue Router configurations.
📂 router
┣ 📜 index.ts # Defines app routes and navigation guards
store/
Manages global state using Pinia.
📂 store
┣ 📜 buffer.ts # Buffering-related state management
┣ 📜 draw.ts # Drawing tools state management
┣ 📜 filter.ts # Layer filtering state management
┣ 📜 geoserver.ts # Geoserver interaction state
┣ 📜 map.ts # Map-related state
┣ 📜 participation.ts # Citizen Participation-related state
views/
Defines page-level Vue components corresponding to different routes.
📂 views
┣ 📜 MapView.vue # Main map page
┣ 📜 ParticipationView.vue # Citizen Participation feature
main.ts
The main entry point of the application where the Vue app is initialized.
Other Important Files
- package.json – Manages dependencies and scripts.
- tsconfig.json – TypeScript configuration.
- vite.config.ts – Configuration for Vite, the project's build tool.
For more details on routing, state management, and UI components, explore their respective sections in the documentation.