# shanilka-yapa/ar-campus-navigation-system---arwayz architecture

> Architecture diagram of the GitHub repository shanilka-yapa/ar-campus-navigation-system---arwayz, 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/shanilka-yapa/ar-campus-navigation-system---arwayz
- Repository: https://github.com/shanilka-yapa/ar-campus-navigation-system---arwayz

## Overview

ARWayz is a Flutter campus-navigation app. Its apparent user workflow starts at the app entry point, proceeds through navigation selection, and branches into indoor QR-based or outdoor/AR navigation. The tree also identifies route preview, building-area, and admin features. Source excerpts did not include the Dart implementation or detailed product documentation, so some feature wiring is uncertain; the graph shows only conservative, filename-supported flows and the Firebase integration indicated by platform plugin registration.

Main entry points: [`arwayz/lib/outdoor_navigation_page.dart`](https://github.com/shanilka-yapa/ar-campus-navigation-system---arwayz/blob/main/arwayz/lib/outdoor_navigation_page.dart) (Outdoor navigation), [`arwayz/lib/navigation_selector_page.dart`](https://github.com/shanilka-yapa/ar-campus-navigation-system---arwayz/blob/main/arwayz/lib/navigation_selector_page.dart) (Navigation selector), [`arwayz/lib/main.dart`](https://github.com/shanilka-yapa/ar-campus-navigation-system---arwayz/blob/main/arwayz/lib/main.dart) (App entry), [`arwayz/lib/splash_page.dart`](https://github.com/shanilka-yapa/ar-campus-navigation-system---arwayz/blob/main/arwayz/lib/splash_page.dart) (Splash screen)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_app["App flow"]
  node_main["App entry<br/>[main.dart]"]
  node_splash["Splash screen<br/>[splash_page.dart]"]
  node_selector["Navigation selector"]
end

subgraph group_navigation["Campus navigation"]
  node_outdoor["Outdoor navigation"]
  node_compass["AR compass"]
  node_camera["AR camera"]
  node_route["Route model<br/>[route_model.dart]"]
  node_preview["Route preview"]
end

subgraph group_qr["Indoor wayfinding"]
  node_areas["Building areas"]
  node_indoor["Indoor navigation"]
  node_scanner["QR scanner"]
  node_payload["QR payload<br/>[qr_payload.dart]"]
end

subgraph group_admin["Administration"]
  node_adminlogin["Admin login"]
  node_dashboard["Admin dashboard"]
end

node_user(("Campus user"))
node_firebase[("Firebase")]

node_user -->|"opens"| node_main
node_main -->|"starts"| node_splash
node_splash -->|"continues"| node_selector
node_selector -->|"selects outdoor"| node_outdoor
node_selector -->|"selects indoor"| node_areas
node_outdoor -->|"uses route data"| node_route
node_outdoor -->|"opens preview"| node_preview
node_outdoor -->|"opens compass"| node_compass
node_compass -->|"uses camera view"| node_camera
node_areas -->|"opens navigation"| node_indoor
node_indoor -->|"scans QR"| node_scanner
node_scanner -->|"decodes"| node_payload
node_user -->|"requests admin"| node_adminlogin
node_adminlogin -->|"opens dashboard"| node_dashboard
node_dashboard -.->|"accesses data"| node_firebase

click node_main "https://github.com/shanilka-yapa/ar-campus-navigation-system---arwayz/blob/main/arwayz/lib/main.dart"
click node_splash "https://github.com/shanilka-yapa/ar-campus-navigation-system---arwayz/blob/main/arwayz/lib/splash_page.dart"
click node_selector "https://github.com/shanilka-yapa/ar-campus-navigation-system---arwayz/blob/main/arwayz/lib/navigation_selector_page.dart"
click node_outdoor "https://github.com/shanilka-yapa/ar-campus-navigation-system---arwayz/blob/main/arwayz/lib/outdoor_navigation_page.dart"
click node_compass "https://github.com/shanilka-yapa/ar-campus-navigation-system---arwayz/blob/main/arwayz/lib/ar_compass_navigation_page.dart"
click node_camera "https://github.com/shanilka-yapa/ar-campus-navigation-system---arwayz/blob/main/arwayz/lib/ar_camera_page.dart"
click node_route "https://github.com/shanilka-yapa/ar-campus-navigation-system---arwayz/blob/main/arwayz/lib/route_model.dart"
click node_preview "https://github.com/shanilka-yapa/ar-campus-navigation-system---arwayz/blob/main/arwayz/lib/route_preview_page.dart"
click node_areas "https://github.com/shanilka-yapa/ar-campus-navigation-system---arwayz/blob/main/arwayz/lib/building_areas_page.dart"
click node_indoor "https://github.com/shanilka-yapa/ar-campus-navigation-system---arwayz/blob/main/arwayz/lib/indoor_navigation_page.dart"
click node_scanner "https://github.com/shanilka-yapa/ar-campus-navigation-system---arwayz/blob/main/arwayz/lib/qr_scanner_page.dart"
click node_payload "https://github.com/shanilka-yapa/ar-campus-navigation-system---arwayz/blob/main/arwayz/lib/qr_payload.dart"
click node_adminlogin "https://github.com/shanilka-yapa/ar-campus-navigation-system---arwayz/blob/main/arwayz/lib/admin_login_page.dart"
click node_dashboard "https://github.com/shanilka-yapa/ar-campus-navigation-system---arwayz/blob/main/arwayz/lib/admin_dashboard_page.dart"

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_main,node_splash,node_selector,node_user toneBlue
class node_outdoor,node_compass,node_camera,node_route,node_preview,node_firebase toneAmber
class node_areas,node_indoor,node_scanner,node_payload toneMint
class node_adminlogin,node_dashboard toneRose
```

## Components

### App flow

- [App entry](https://github.com/shanilka-yapa/ar-campus-navigation-system---arwayz/blob/main/arwayz/lib/main.dart): `arwayz/lib/main.dart`
- [Splash screen](https://github.com/shanilka-yapa/ar-campus-navigation-system---arwayz/blob/main/arwayz/lib/splash_page.dart): `arwayz/lib/splash_page.dart`
- [Navigation selector](https://github.com/shanilka-yapa/ar-campus-navigation-system---arwayz/blob/main/arwayz/lib/navigation_selector_page.dart): `arwayz/lib/navigation_selector_page.dart`

### Campus navigation

- [Outdoor navigation](https://github.com/shanilka-yapa/ar-campus-navigation-system---arwayz/blob/main/arwayz/lib/outdoor_navigation_page.dart): `arwayz/lib/outdoor_navigation_page.dart`
- [AR compass](https://github.com/shanilka-yapa/ar-campus-navigation-system---arwayz/blob/main/arwayz/lib/ar_compass_navigation_page.dart): `arwayz/lib/ar_compass_navigation_page.dart`
- [AR camera](https://github.com/shanilka-yapa/ar-campus-navigation-system---arwayz/blob/main/arwayz/lib/ar_camera_page.dart): `arwayz/lib/ar_camera_page.dart`
- [Route model](https://github.com/shanilka-yapa/ar-campus-navigation-system---arwayz/blob/main/arwayz/lib/route_model.dart): `arwayz/lib/route_model.dart`
- [Route preview](https://github.com/shanilka-yapa/ar-campus-navigation-system---arwayz/blob/main/arwayz/lib/route_preview_page.dart): `arwayz/lib/route_preview_page.dart`

### Indoor wayfinding

- [Building areas](https://github.com/shanilka-yapa/ar-campus-navigation-system---arwayz/blob/main/arwayz/lib/building_areas_page.dart): `arwayz/lib/building_areas_page.dart`
- [Indoor navigation](https://github.com/shanilka-yapa/ar-campus-navigation-system---arwayz/blob/main/arwayz/lib/indoor_navigation_page.dart): `arwayz/lib/indoor_navigation_page.dart`
- [QR scanner](https://github.com/shanilka-yapa/ar-campus-navigation-system---arwayz/blob/main/arwayz/lib/qr_scanner_page.dart): `arwayz/lib/qr_scanner_page.dart`
- [QR payload](https://github.com/shanilka-yapa/ar-campus-navigation-system---arwayz/blob/main/arwayz/lib/qr_payload.dart): `arwayz/lib/qr_payload.dart`

### Administration

- [Admin login](https://github.com/shanilka-yapa/ar-campus-navigation-system---arwayz/blob/main/arwayz/lib/admin_login_page.dart): `arwayz/lib/admin_login_page.dart`
- [Admin dashboard](https://github.com/shanilka-yapa/ar-campus-navigation-system---arwayz/blob/main/arwayz/lib/admin_dashboard_page.dart): `arwayz/lib/admin_dashboard_page.dart`

### Other components

- **Campus user**
- **Firebase**

## Connections

- Campus user → App entry: opens
- App entry → Splash screen: starts
- Splash screen → Navigation selector: continues
- Navigation selector → Outdoor navigation: selects outdoor
- Navigation selector → Building areas: selects indoor
- Outdoor navigation → Route model: uses route data
- Outdoor navigation → Route preview: opens preview
- Outdoor navigation → AR compass: opens compass
- AR compass → AR camera: uses camera view
- Building areas → Indoor navigation: opens navigation
- Indoor navigation → QR scanner: scans QR
- QR scanner → QR payload: decodes
- Campus user → Admin login: requests admin
- Admin login → Admin dashboard: opens dashboard
- Admin dashboard → Firebase: accesses data
