# sasibharath9/lilcamp-project architecture

> Architecture diagram of the GitHub repository sasibharath9/lilcamp-project, 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/sasibharath9/lilcamp-project
- Repository: https://github.com/sasibharath9/lilcamp-project

## Overview

LIL-CAMP is a menu-driven campus lost-item logger. A user selects an operation in the menu; the system adds item records, lists or searches stored records, or computes and visualizes reports. Item records use an inherited model and are persisted in JSON through the storage layer. The README also describes graph visualization, supported by the sampled report implementation. The feature methods share one source file; edges show the calls visible there, not an assumed sequence between operations.

Main entry points: [`Lost_Item_Logger_System_for_College_Campus_(LIL-CAMP)/main.py`](https://github.com/sasibharath9/lilcamp-project/blob/main/Lost_Item_Logger_System_for_College_Campus_(LIL-CAMP)/main.py) (Menu), [`Lost_Item_Logger_System_for_College_Campus_(LIL-CAMP)/system/lilcamp_system.py`](https://github.com/sasibharath9/lilcamp-project/blob/main/Lost_Item_Logger_System_for_College_Campus_(LIL-CAMP)/system/lilcamp_system.py) (Reports), [`Lost_Item_Logger_System_for_College_Campus_(LIL-CAMP)/storage/storage.py`](https://github.com/sasibharath9/lilcamp-project/blob/main/Lost_Item_Logger_System_for_College_Campus_(LIL-CAMP)/storage/storage.py) (JSON storage), [`Lost_Item_Logger_System_for_College_Campus_(LIL-CAMP)/models/item.py`](https://github.com/sasibharath9/lilcamp-project/blob/main/Lost_Item_Logger_System_for_College_Campus_(LIL-CAMP)/models/item.py) (Item record)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_interface["Menu and operations"]
  node_menu["Menu<br/>[main.py]"]
  node_add["Add item<br/>[lilcamp_system.py]"]
  node_view["View items<br/>[lilcamp_system.py]"]
  node_search["Search items<br/>[lilcamp_system.py]"]
  node_report["Reports<br/>[lilcamp_system.py]"]
end

subgraph group_domain["Item model"]
  node_item["Item record<br/>[item.py]"]
  node_base["Base item<br/>[base_item.py]"]
end

subgraph group_persistence["Storage and reporting"]
  node_storage["JSON storage<br/>[storage.py]"]
  node_jsonfile[("Item data<br/>[lilcamp_data.json]")]
end

node_user(("Campus user"))
node_pandas["Pandas"]
node_numpy["NumPy"]
node_matplotlib["Matplotlib"]

node_user -->|"chooses operation"| node_menu
node_menu -->|"dispatches add"| node_add
node_menu -->|"dispatches view"| node_view
node_menu -->|"dispatches search"| node_search
node_menu -->|"dispatches report"| node_report
node_add -->|"loads and saves"| node_storage
node_view -->|"loads"| node_storage
node_search -->|"loads"| node_storage
node_report -->|"loads"| node_storage
node_add -->|"creates"| node_item
node_item -->|"inherits"| node_base
node_storage -->|"reads and writes"| node_jsonfile
node_view -->|"builds table"| node_pandas
node_search -->|"filters table"| node_pandas
node_report -->|"builds and counts"| node_pandas
node_report -->|"counts statuses"| node_numpy
node_report -->|"plots charts"| node_matplotlib

click node_menu "https://github.com/sasibharath9/lilcamp-project/blob/main/Lost_Item_Logger_System_for_College_Campus_(LIL-CAMP)/main.py"
click node_add "https://github.com/sasibharath9/lilcamp-project/blob/main/Lost_Item_Logger_System_for_College_Campus_(LIL-CAMP)/system/lilcamp_system.py"
click node_view "https://github.com/sasibharath9/lilcamp-project/blob/main/Lost_Item_Logger_System_for_College_Campus_(LIL-CAMP)/system/lilcamp_system.py"
click node_search "https://github.com/sasibharath9/lilcamp-project/blob/main/Lost_Item_Logger_System_for_College_Campus_(LIL-CAMP)/system/lilcamp_system.py"
click node_report "https://github.com/sasibharath9/lilcamp-project/blob/main/Lost_Item_Logger_System_for_College_Campus_(LIL-CAMP)/system/lilcamp_system.py"
click node_item "https://github.com/sasibharath9/lilcamp-project/blob/main/Lost_Item_Logger_System_for_College_Campus_(LIL-CAMP)/models/item.py"
click node_base "https://github.com/sasibharath9/lilcamp-project/blob/main/Lost_Item_Logger_System_for_College_Campus_(LIL-CAMP)/models/base_item.py"
click node_storage "https://github.com/sasibharath9/lilcamp-project/blob/main/Lost_Item_Logger_System_for_College_Campus_(LIL-CAMP)/storage/storage.py"
click node_jsonfile "https://github.com/sasibharath9/lilcamp-project/blob/main/Lost_Item_Logger_System_for_College_Campus_(LIL-CAMP)/data/lilcamp_data.json"

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_menu,node_add,node_view,node_search,node_report,node_user toneBlue
class node_item,node_base toneAmber
class node_storage,node_jsonfile toneMint
class node_pandas,node_numpy,node_matplotlib toneIndigo
```

## Components

### Menu and operations

- [Menu](https://github.com/sasibharath9/lilcamp-project/blob/main/Lost_Item_Logger_System_for_College_Campus_(LIL-CAMP)/main.py): `Lost_Item_Logger_System_for_College_Campus_(LIL-CAMP)/main.py`
- [Add item](https://github.com/sasibharath9/lilcamp-project/blob/main/Lost_Item_Logger_System_for_College_Campus_(LIL-CAMP)/system/lilcamp_system.py): `Lost_Item_Logger_System_for_College_Campus_(LIL-CAMP)/system/lilcamp_system.py`
- [View items](https://github.com/sasibharath9/lilcamp-project/blob/main/Lost_Item_Logger_System_for_College_Campus_(LIL-CAMP)/system/lilcamp_system.py): `Lost_Item_Logger_System_for_College_Campus_(LIL-CAMP)/system/lilcamp_system.py`
- [Search items](https://github.com/sasibharath9/lilcamp-project/blob/main/Lost_Item_Logger_System_for_College_Campus_(LIL-CAMP)/system/lilcamp_system.py): `Lost_Item_Logger_System_for_College_Campus_(LIL-CAMP)/system/lilcamp_system.py`
- [Reports](https://github.com/sasibharath9/lilcamp-project/blob/main/Lost_Item_Logger_System_for_College_Campus_(LIL-CAMP)/system/lilcamp_system.py): `Lost_Item_Logger_System_for_College_Campus_(LIL-CAMP)/system/lilcamp_system.py`

### Item model

- [Item record](https://github.com/sasibharath9/lilcamp-project/blob/main/Lost_Item_Logger_System_for_College_Campus_(LIL-CAMP)/models/item.py): `Lost_Item_Logger_System_for_College_Campus_(LIL-CAMP)/models/item.py`
- [Base item](https://github.com/sasibharath9/lilcamp-project/blob/main/Lost_Item_Logger_System_for_College_Campus_(LIL-CAMP)/models/base_item.py): `Lost_Item_Logger_System_for_College_Campus_(LIL-CAMP)/models/base_item.py`

### Storage and reporting

- [JSON storage](https://github.com/sasibharath9/lilcamp-project/blob/main/Lost_Item_Logger_System_for_College_Campus_(LIL-CAMP)/storage/storage.py): `Lost_Item_Logger_System_for_College_Campus_(LIL-CAMP)/storage/storage.py`
- [Item data](https://github.com/sasibharath9/lilcamp-project/blob/main/Lost_Item_Logger_System_for_College_Campus_(LIL-CAMP)/data/lilcamp_data.json): `Lost_Item_Logger_System_for_College_Campus_(LIL-CAMP)/data/lilcamp_data.json`

### Other components

- **Campus user**
- **Pandas**
- **NumPy**
- **Matplotlib**

## Connections

- Campus user → Menu: chooses operation
- Menu → Add item: dispatches add
- Menu → View items: dispatches view
- Menu → Search items: dispatches search
- Menu → Reports: dispatches report
- Add item → JSON storage: loads and saves
- View items → JSON storage: loads
- Search items → JSON storage: loads
- Reports → JSON storage: loads
- Add item → Item record: creates
- Item record → Base item: inherits
- JSON storage → Item data: reads and writes
- View items → Pandas: builds table
- Search items → Pandas: filters table
- Reports → Pandas: builds and counts
- Reports → NumPy: counts statuses
- Reports → Matplotlib: plots charts
