# shahmeerabdul/busilo architecture

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

- Interactive diagram: https://gitdiagram.com/shahmeerabdul/busilo
- Repository: https://github.com/shahmeerabdul/busilo

## Overview

This is a small, menu-driven bus stand management program. The user can add buses, list them, inspect seat availability, book seats, and view bus status. All operations run in one process and share fixed-size global arrays; there is no persistent storage or separate service layer. The README identifies the project but documents no additional capabilities, so this map follows the behavior visible in main.cpp.

Main entry points: [`main.cpp`](https://github.com/shahmeerabdul/busilo/blob/main/main.cpp) (Menu loop)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_menu["Menu and input"]
  node_main["Menu loop<br/>[main.cpp]"]
  node_bus_state["Bus arrays<br/>[main.cpp]"]
end

subgraph group_buses["Bus operations"]
  node_add_bus["Add bus<br/>[main.cpp]"]
  node_list_buses["List buses<br/>[main.cpp]"]
  node_bus_status["Bus status<br/>[main.cpp]"]
end

subgraph group_seats["Seat management"]
  node_seat_view["Show seats<br/>[main.cpp]"]
  node_book_seats["Book seats<br/>[main.cpp]"]
end

node_user(("User"))

node_user -->|"chooses option"| node_main
node_main -->|"displays menu"| node_user
node_main -->|"dispatches"| node_add_bus
node_main -->|"dispatches"| node_list_buses
node_main -->|"dispatches"| node_seat_view
node_main -->|"dispatches"| node_book_seats
node_main -->|"dispatches"| node_bus_status
node_add_bus -->|"updates"| node_bus_state
node_list_buses -->|"reads"| node_bus_state
node_seat_view -->|"reads"| node_bus_state
node_book_seats -->|"updates"| node_bus_state
node_bus_status -->|"reads"| node_bus_state
node_add_bus -->|"prompts and reports"| node_user
node_list_buses -->|"displays buses"| node_user
node_seat_view -->|"displays seats"| node_user
node_book_seats -->|"prompts and reports"| node_user
node_bus_status -->|"displays status"| node_user

click node_main "https://github.com/shahmeerabdul/busilo/blob/main/main.cpp"
click node_bus_state "https://github.com/shahmeerabdul/busilo/blob/main/main.cpp"
click node_add_bus "https://github.com/shahmeerabdul/busilo/blob/main/main.cpp"
click node_list_buses "https://github.com/shahmeerabdul/busilo/blob/main/main.cpp"
click node_seat_view "https://github.com/shahmeerabdul/busilo/blob/main/main.cpp"
click node_book_seats "https://github.com/shahmeerabdul/busilo/blob/main/main.cpp"
click node_bus_status "https://github.com/shahmeerabdul/busilo/blob/main/main.cpp"

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_bus_state,node_user toneBlue
class node_add_bus,node_list_buses,node_bus_status toneAmber
class node_seat_view,node_book_seats toneMint
```

## Components

### Menu and input

- [Menu loop](https://github.com/shahmeerabdul/busilo/blob/main/main.cpp): `main.cpp`
- [Bus arrays](https://github.com/shahmeerabdul/busilo/blob/main/main.cpp): `main.cpp`

### Bus operations

- [Add bus](https://github.com/shahmeerabdul/busilo/blob/main/main.cpp): `main.cpp`
- [List buses](https://github.com/shahmeerabdul/busilo/blob/main/main.cpp): `main.cpp`
- [Bus status](https://github.com/shahmeerabdul/busilo/blob/main/main.cpp): `main.cpp`

### Seat management

- [Show seats](https://github.com/shahmeerabdul/busilo/blob/main/main.cpp): `main.cpp`
- [Book seats](https://github.com/shahmeerabdul/busilo/blob/main/main.cpp): `main.cpp`

### Other components

- **User**

## Connections

- User → Menu loop: chooses option
- Menu loop → User: displays menu
- Menu loop → Add bus: dispatches
- Menu loop → List buses: dispatches
- Menu loop → Show seats: dispatches
- Menu loop → Book seats: dispatches
- Menu loop → Bus status: dispatches
- Add bus → Bus arrays: updates
- List buses → Bus arrays: reads
- Show seats → Bus arrays: reads
- Book seats → Bus arrays: updates
- Bus status → Bus arrays: reads
- Add bus → User: prompts and reports
- List buses → User: displays buses
- Show seats → User: displays seats
- Book seats → User: prompts and reports
- Bus status → User: displays status
