# 02230151/cstlocation architecture

> Architecture diagram of the GitHub repository 02230151/cstlocation, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-09). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/02230151/cstlocation
- Repository: https://github.com/02230151/cstlocation

## Overview

CST Campus Guide is a React campus map and directory. Visitors search campus buildings and rooms, inspect map features and building details, and browse floor-plan room listings and photos. The main UI coordinates the map, search, and detail views; supporting data modules provide building descriptions and floor-plan content. The README documents startup loading of the exported map layers. Source excerpts show map-tile configuration and module imports, but not the full layer-loading implementation or every interaction, so those links are limited to documented evidence.

Main entry points: [`public/layers`](https://github.com/02230151/cstlocation/tree/main/public/layers) (Campus map layers), [`src/App.jsx`](https://github.com/02230151/cstlocation/blob/main/src/App.jsx) (Map and directory), [`src/main.jsx`](https://github.com/02230151/cstlocation/blob/main/src/main.jsx) (React entry), [`src/floorPlanData.js`](https://github.com/02230151/cstlocation/blob/main/src/floorPlanData.js) (Floor plans and rooms)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_ui["Campus Guide UI"]
  node_entry["React entry<br/>[main.jsx]"]
  node_guide["Map and directory<br/>[App.jsx]"]
end

subgraph group_data["Campus Information"]
  node_building_details["Building descriptions<br/>[buildingDetails.js]"]
  node_floorplan_data["Floor plans and rooms<br/>[floorPlanData.js]"]
  node_photo_manifest["Room photo manifest"]
end

subgraph group_mapdata["Map Data"]
  node_layer_assets["Campus map layers"]
  node_buildings["Building features<br/>[Buildings_5.js]"]
  node_boundary["Campus boundary<br/>[CST_Boundary_3.js]"]
  node_open_spaces["Open spaces<br/>[Openspaces_7.js]"]
  node_paths["Campus paths<br/>[Paths_6.js]"]
  node_roads["Campus roads<br/>[Roads_4.js]"]
end

node_visitor(("Campus visitor"))
node_tile_service["Basemap tiles"]

node_visitor -->|"opens guide"| node_entry
node_entry -->|"renders"| node_guide
node_guide -->|"gets descriptions"| node_building_details
node_guide -->|"uses room data"| node_floorplan_data
node_floorplan_data -->|"imports photos"| node_photo_manifest
node_guide -->|"loads layers"| node_layer_assets
node_layer_assets -->|"includes"| node_buildings
node_layer_assets -->|"includes"| node_boundary
node_layer_assets -->|"includes"| node_open_spaces
node_layer_assets -->|"includes"| node_paths
node_layer_assets -->|"includes"| node_roads
node_guide -->|"requests tiles"| node_tile_service

click node_entry "https://github.com/02230151/cstlocation/blob/main/src/main.jsx"
click node_guide "https://github.com/02230151/cstlocation/blob/main/src/App.jsx"
click node_building_details "https://github.com/02230151/cstlocation/blob/main/src/buildingDetails.js"
click node_floorplan_data "https://github.com/02230151/cstlocation/blob/main/src/floorPlanData.js"
click node_photo_manifest "https://github.com/02230151/cstlocation/blob/main/src/floorPlanPhotoManifest.json"
click node_layer_assets "https://github.com/02230151/cstlocation/tree/main/public/layers"
click node_buildings "https://github.com/02230151/cstlocation/blob/main/public/layers/Buildings_5.js"
click node_boundary "https://github.com/02230151/cstlocation/blob/main/public/layers/CST_Boundary_3.js"
click node_open_spaces "https://github.com/02230151/cstlocation/blob/main/public/layers/Openspaces_7.js"
click node_paths "https://github.com/02230151/cstlocation/blob/main/public/layers/Paths_6.js"
click node_roads "https://github.com/02230151/cstlocation/blob/main/public/layers/Roads_4.js"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_entry,node_guide toneBlue
class node_building_details,node_floorplan_data,node_photo_manifest toneAmber
class node_layer_assets,node_buildings,node_boundary,node_open_spaces,node_paths,node_roads toneMint
class node_visitor,node_tile_service toneIndigo
```

## Components

### Campus Guide UI

- [React entry](https://github.com/02230151/cstlocation/blob/main/src/main.jsx): `src/main.jsx`
- [Map and directory](https://github.com/02230151/cstlocation/blob/main/src/App.jsx): `src/App.jsx`

### Campus Information

- [Building descriptions](https://github.com/02230151/cstlocation/blob/main/src/buildingDetails.js): `src/buildingDetails.js`
- [Floor plans and rooms](https://github.com/02230151/cstlocation/blob/main/src/floorPlanData.js): `src/floorPlanData.js`
- [Room photo manifest](https://github.com/02230151/cstlocation/blob/main/src/floorPlanPhotoManifest.json): `src/floorPlanPhotoManifest.json`

### Map Data

- [Campus map layers](https://github.com/02230151/cstlocation/tree/main/public/layers): `public/layers`
- [Building features](https://github.com/02230151/cstlocation/blob/main/public/layers/Buildings_5.js): `public/layers/Buildings_5.js`
- [Campus boundary](https://github.com/02230151/cstlocation/blob/main/public/layers/CST_Boundary_3.js): `public/layers/CST_Boundary_3.js`
- [Open spaces](https://github.com/02230151/cstlocation/blob/main/public/layers/Openspaces_7.js): `public/layers/Openspaces_7.js`
- [Campus paths](https://github.com/02230151/cstlocation/blob/main/public/layers/Paths_6.js): `public/layers/Paths_6.js`
- [Campus roads](https://github.com/02230151/cstlocation/blob/main/public/layers/Roads_4.js): `public/layers/Roads_4.js`

### Other components

- **Campus visitor**
- **Basemap tiles**

## Connections

- Campus visitor → React entry: opens guide (evidence: `src/main.jsx`)
- React entry → Map and directory: renders (evidence: `src/main.jsx`)
- Map and directory → Building descriptions: gets descriptions (evidence: `src/App.jsx`)
- Map and directory → Floor plans and rooms: uses room data (evidence: `src/App.jsx`)
- Floor plans and rooms → Room photo manifest: imports photos (evidence: `src/floorPlanData.js`)
- Map and directory → Campus map layers: loads layers (evidence: `README.md`)
- Campus map layers → Building features: includes (evidence: `README.md`)
- Campus map layers → Campus boundary: includes (evidence: `README.md`)
- Campus map layers → Open spaces: includes (evidence: `README.md`)
- Campus map layers → Campus paths: includes (evidence: `README.md`)
- Campus map layers → Campus roads: includes (evidence: `README.md`)
- Map and directory → Basemap tiles: requests tiles (evidence: `src/App.jsx`)
