# panhaath/sit215 architecture

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

- Interactive diagram: https://gitdiagram.com/panhaath/sit215
- Repository: https://github.com/panhaath/sit215

## Overview

This is a notebook-based campus truck-delivery planning submission. Its principal workflow models campus routes and constraints, formulates delivery states, searches for feasible routes, and compares algorithm and heuristic performance. The README documents these relationships, but no notebook source was available to verify finer-grained call wiring; all implementation nodes therefore point to the notebook.

Main entry points: [`s224529554.ipynb`](https://github.com/panhaath/sit215/blob/main/s224529554.ipynb) (Delivery problem), [`algorithm_results.csv`](https://github.com/panhaath/sit215/blob/main/algorithm_results.csv) (Algorithm results), [`heuristic_results.csv`](https://github.com/panhaath/sit215/blob/main/heuristic_results.csv) (Heuristic results)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_environment["Environment Model"]
  node_environment_model["Campus environment<br/>[s224529554.ipynb]"]
  node_path_constraints["Path feasibility<br/>[s224529554.ipynb]"]
end

subgraph group_planning["Route Planning"]
  node_planning_problem["Delivery problem<br/>[s224529554.ipynb]"]
  node_astar["A* search<br/>[s224529554.ipynb]"]
  node_ucs["UCS search<br/>[s224529554.ipynb]"]
  node_baseline_heuristic["Baseline heuristic<br/>[s224529554.ipynb]"]
  node_enhanced_heuristic["Enhanced heuristic<br/>[s224529554.ipynb]"]
end

subgraph group_evaluation["Evaluation"]
  node_algorithm_evaluation["Algorithm comparison<br/>[s224529554.ipynb]"]
  node_heuristic_evaluation["Heuristic comparison<br/>[s224529554.ipynb]"]
  node_algorithm_results["Algorithm results"]
  node_heuristic_results["Heuristic results"]
end

node_student(("Notebook user"))

node_student -->|"runs notebook"| node_environment_model
node_planning_problem -->|"uses model"| node_environment_model
node_planning_problem -->|"checks paths"| node_path_constraints
node_planning_problem -->|"searches with"| node_astar
node_planning_problem -->|"searches with"| node_ucs
node_astar -->|"uses heuristic"| node_baseline_heuristic
node_astar -->|"evaluates heuristic"| node_enhanced_heuristic
node_algorithm_evaluation -->|"compares"| node_astar
node_algorithm_evaluation -->|"compares"| node_ucs
node_algorithm_evaluation -->|"writes results"| node_algorithm_results
node_heuristic_evaluation -->|"compares"| node_baseline_heuristic
node_heuristic_evaluation -->|"compares"| node_enhanced_heuristic
node_heuristic_evaluation -->|"writes results"| node_heuristic_results

click node_environment_model "https://github.com/panhaath/sit215/blob/main/s224529554.ipynb"
click node_path_constraints "https://github.com/panhaath/sit215/blob/main/s224529554.ipynb"
click node_planning_problem "https://github.com/panhaath/sit215/blob/main/s224529554.ipynb"
click node_astar "https://github.com/panhaath/sit215/blob/main/s224529554.ipynb"
click node_ucs "https://github.com/panhaath/sit215/blob/main/s224529554.ipynb"
click node_baseline_heuristic "https://github.com/panhaath/sit215/blob/main/s224529554.ipynb"
click node_enhanced_heuristic "https://github.com/panhaath/sit215/blob/main/s224529554.ipynb"
click node_algorithm_evaluation "https://github.com/panhaath/sit215/blob/main/s224529554.ipynb"
click node_heuristic_evaluation "https://github.com/panhaath/sit215/blob/main/s224529554.ipynb"
click node_algorithm_results "https://github.com/panhaath/sit215/blob/main/algorithm_results.csv"
click node_heuristic_results "https://github.com/panhaath/sit215/blob/main/heuristic_results.csv"

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_environment_model,node_path_constraints,node_student toneBlue
class node_planning_problem,node_astar,node_ucs,node_baseline_heuristic,node_enhanced_heuristic toneAmber
class node_algorithm_evaluation,node_heuristic_evaluation,node_algorithm_results,node_heuristic_results toneMint
```

## Components

### Environment Model

- [Campus environment](https://github.com/panhaath/sit215/blob/main/s224529554.ipynb): `s224529554.ipynb`
- [Path feasibility](https://github.com/panhaath/sit215/blob/main/s224529554.ipynb): `s224529554.ipynb`

### Route Planning

- [Delivery problem](https://github.com/panhaath/sit215/blob/main/s224529554.ipynb): `s224529554.ipynb`
- [A* search](https://github.com/panhaath/sit215/blob/main/s224529554.ipynb): `s224529554.ipynb`
- [UCS search](https://github.com/panhaath/sit215/blob/main/s224529554.ipynb): `s224529554.ipynb`
- [Baseline heuristic](https://github.com/panhaath/sit215/blob/main/s224529554.ipynb): `s224529554.ipynb`
- [Enhanced heuristic](https://github.com/panhaath/sit215/blob/main/s224529554.ipynb): `s224529554.ipynb`

### Evaluation

- [Algorithm comparison](https://github.com/panhaath/sit215/blob/main/s224529554.ipynb): `s224529554.ipynb`
- [Heuristic comparison](https://github.com/panhaath/sit215/blob/main/s224529554.ipynb): `s224529554.ipynb`
- [Algorithm results](https://github.com/panhaath/sit215/blob/main/algorithm_results.csv): `algorithm_results.csv`
- [Heuristic results](https://github.com/panhaath/sit215/blob/main/heuristic_results.csv): `heuristic_results.csv`

### Other components

- **Notebook user**

## Connections

- Notebook user → Campus environment: runs notebook
- Delivery problem → Campus environment: uses model
- Delivery problem → Path feasibility: checks paths
- Delivery problem → A* search: searches with
- Delivery problem → UCS search: searches with
- A* search → Baseline heuristic: uses heuristic
- A* search → Enhanced heuristic: evaluates heuristic
- Algorithm comparison → A* search: compares
- Algorithm comparison → UCS search: compares
- Algorithm comparison → Algorithm results: writes results
- Heuristic comparison → Baseline heuristic: compares
- Heuristic comparison → Enhanced heuristic: compares
- Heuristic comparison → Heuristic results: writes results
