# mahadihasanx/vehicle-management architecture

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

- Interactive diagram: https://gitdiagram.com/mahadihasanx/vehicle-management
- Repository: https://github.com/mahadihasanx/vehicle-management

## Overview

This is a terminal parking-facility vehicle registry. The user starts the program, chooses a menu action, and can register, list, remove, search, or update vehicle entry records. The single C file keeps records in a global in-memory array; registration validates entry time before storing it, while search and update operate on that array. The README documents all major operations, but excerpts omit several menu branches and implementations, so those relationships are shown as unverified rather than asserted as source-visible calls.

Main entry points: [`Vehicle_Management_System.c`](https://github.com/mahadihasanx/vehicle-management/blob/main/Vehicle_Management_System.c) (Main menu)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_interface["Terminal interface"]
  node_program["Program startup"]
  node_menu["Main menu"]
end

subgraph group_operations["Vehicle operations"]
  node_register["Register vehicle"]
  node_timecheck["Time validation"]
  node_display["List vehicles"]
  node_remove["Remove vehicle"]
  node_search["Search vehicle"]
  node_update["Update entry time"]
end

subgraph group_state["Record state"]
  node_records[("Vehicle records")]
end

node_user(("Parking staff"))

node_user -->|"starts"| node_program
node_program -.->|"enters"| node_menu
node_user -->|"chooses action"| node_menu
node_menu -->|"dispatches"| node_register
node_register -->|"validates time"| node_timecheck
node_register -->|"writes records"| node_records
node_menu -.->|"dispatches"| node_display
node_display -.->|"reads records"| node_records
node_menu -.->|"dispatches"| node_remove
node_remove -.->|"removes record"| node_records
node_menu -->|"dispatches"| node_search
node_search -->|"searches records"| node_records
node_menu -.->|"dispatches"| node_update
node_update -.->|"updates record"| node_records

click node_program "https://github.com/mahadihasanx/vehicle-management/blob/main/Vehicle_Management_System.c"
click node_menu "https://github.com/mahadihasanx/vehicle-management/blob/main/Vehicle_Management_System.c"
click node_records "https://github.com/mahadihasanx/vehicle-management/blob/main/Vehicle_Management_System.c"
click node_register "https://github.com/mahadihasanx/vehicle-management/blob/main/Vehicle_Management_System.c"
click node_timecheck "https://github.com/mahadihasanx/vehicle-management/blob/main/Vehicle_Management_System.c"
click node_display "https://github.com/mahadihasanx/vehicle-management/blob/main/Vehicle_Management_System.c"
click node_remove "https://github.com/mahadihasanx/vehicle-management/blob/main/Vehicle_Management_System.c"
click node_search "https://github.com/mahadihasanx/vehicle-management/blob/main/Vehicle_Management_System.c"
click node_update "https://github.com/mahadihasanx/vehicle-management/blob/main/Vehicle_Management_System.c"

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_program,node_menu toneBlue
class node_register,node_timecheck,node_display,node_remove,node_search,node_update toneAmber
class node_records toneMint
class node_user toneIndigo
```

## Components

### Terminal interface

- [Program startup](https://github.com/mahadihasanx/vehicle-management/blob/main/Vehicle_Management_System.c): `Vehicle_Management_System.c`
- [Main menu](https://github.com/mahadihasanx/vehicle-management/blob/main/Vehicle_Management_System.c): `Vehicle_Management_System.c`

### Vehicle operations

- [Register vehicle](https://github.com/mahadihasanx/vehicle-management/blob/main/Vehicle_Management_System.c): `Vehicle_Management_System.c`
- [Time validation](https://github.com/mahadihasanx/vehicle-management/blob/main/Vehicle_Management_System.c): `Vehicle_Management_System.c`
- [List vehicles](https://github.com/mahadihasanx/vehicle-management/blob/main/Vehicle_Management_System.c): `Vehicle_Management_System.c`
- [Remove vehicle](https://github.com/mahadihasanx/vehicle-management/blob/main/Vehicle_Management_System.c): `Vehicle_Management_System.c`
- [Search vehicle](https://github.com/mahadihasanx/vehicle-management/blob/main/Vehicle_Management_System.c): `Vehicle_Management_System.c`
- [Update entry time](https://github.com/mahadihasanx/vehicle-management/blob/main/Vehicle_Management_System.c): `Vehicle_Management_System.c`

### Record state

- [Vehicle records](https://github.com/mahadihasanx/vehicle-management/blob/main/Vehicle_Management_System.c): `Vehicle_Management_System.c`

### Other components

- **Parking staff**

## Connections

- Parking staff → Program startup: starts (evidence: `README.md`)
- Program startup → Main menu: enters (evidence: `Vehicle_Management_System.c`)
- Parking staff → Main menu: chooses action (evidence: `README.md`)
- Main menu → Register vehicle: dispatches (evidence: `Vehicle_Management_System.c`)
- Register vehicle → Time validation: validates time (evidence: `Vehicle_Management_System.c`)
- Register vehicle → Vehicle records: writes records (evidence: `Vehicle_Management_System.c`)
- Main menu → List vehicles: dispatches (evidence: `Vehicle_Management_System.c`)
- List vehicles → Vehicle records: reads records (evidence: `Vehicle_Management_System.c`)
- Main menu → Remove vehicle: dispatches (evidence: `Vehicle_Management_System.c`)
- Remove vehicle → Vehicle records: removes record (evidence: `Vehicle_Management_System.c`)
- Main menu → Search vehicle: dispatches (evidence: `Vehicle_Management_System.c`)
- Search vehicle → Vehicle records: searches records (evidence: `Vehicle_Management_System.c`)
- Main menu → Update entry time: dispatches (evidence: `Vehicle_Management_System.c`)
- Update entry time → Vehicle records: updates record (evidence: `Vehicle_Management_System.c`)
