# pratikshasharma23/logiqr architecture

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

## Overview

LogiQR is a QR-based entry logger with an upload-based scanning interface and a live dashboard. The documented workflow is: upload a QR image, validate its user data, determine IN/OUT status, prevent duplicate scans, and log the entry in Google Sheets; the dashboard reflects the resulting data. The README describes these capabilities but no source excerpts were available, so the graph shows only documented interactions and does not infer implementation details within Code.gs.

Main entry points: [`Code.gs`](https://github.com/pratikshasharma23/logiqr/blob/main/Code.gs) (Web app handler), [`dashboard.html`](https://github.com/pratikshasharma23/logiqr/blob/main/dashboard.html) (Live dashboard), [`scanner.html`](https://github.com/pratikshasharma23/logiqr/blob/main/scanner.html) (QR upload scanner)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_interfaces["User interfaces"]
  node_scanner_ui["QR upload scanner<br/>[scanner.html]"]
  node_dashboard_ui["Live dashboard<br/>[dashboard.html]"]
end

subgraph group_processing["Entry processing"]
  node_app["Web app handler<br/>[Code.gs]"]
  node_validation["User validation<br/>[Code.gs]"]
  node_direction["IN/OUT detection<br/>[Code.gs]"]
  node_duplicate_check["Duplicate prevention<br/>[Code.gs]"]
  node_entry_log["Entry logging<br/>[Code.gs]"]
end

subgraph group_storage["Entry data"]
  node_sheets[("Google Sheets")]
end

node_scanner_user(("Scanner user"))
node_dashboard_user(("Dashboard viewer"))

node_scanner_user -->|"uploads QR"| node_scanner_ui
node_scanner_ui -->|"submits scan"| node_app
node_app -->|"validates user"| node_validation
node_app -->|"detects direction"| node_direction
node_app -->|"checks duplicates"| node_duplicate_check
node_app -->|"logs entry"| node_entry_log
node_entry_log -->|"writes entry"| node_sheets
node_dashboard_user -->|"views dashboard"| node_dashboard_ui
node_dashboard_ui -->|"requests dashboard"| node_app
node_app -->|"reads entries"| node_sheets
node_app -->|"returns dashboard data"| node_dashboard_ui

click node_scanner_ui "https://github.com/pratikshasharma23/logiqr/blob/main/scanner.html"
click node_dashboard_ui "https://github.com/pratikshasharma23/logiqr/blob/main/dashboard.html"
click node_app "https://github.com/pratikshasharma23/logiqr/blob/main/Code.gs"
click node_validation "https://github.com/pratikshasharma23/logiqr/blob/main/Code.gs"
click node_direction "https://github.com/pratikshasharma23/logiqr/blob/main/Code.gs"
click node_duplicate_check "https://github.com/pratikshasharma23/logiqr/blob/main/Code.gs"
click node_entry_log "https://github.com/pratikshasharma23/logiqr/blob/main/Code.gs"

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_scanner_ui,node_dashboard_ui,node_scanner_user,node_dashboard_user toneBlue
class node_app,node_validation,node_direction,node_duplicate_check,node_entry_log toneAmber
class node_sheets toneMint
```

## Components

### User interfaces

- [QR upload scanner](https://github.com/pratikshasharma23/logiqr/blob/main/scanner.html): `scanner.html`
- [Live dashboard](https://github.com/pratikshasharma23/logiqr/blob/main/dashboard.html): `dashboard.html`

### Entry processing

- [Web app handler](https://github.com/pratikshasharma23/logiqr/blob/main/Code.gs): `Code.gs`
- [User validation](https://github.com/pratikshasharma23/logiqr/blob/main/Code.gs): `Code.gs`
- [IN/OUT detection](https://github.com/pratikshasharma23/logiqr/blob/main/Code.gs): `Code.gs`
- [Duplicate prevention](https://github.com/pratikshasharma23/logiqr/blob/main/Code.gs): `Code.gs`
- [Entry logging](https://github.com/pratikshasharma23/logiqr/blob/main/Code.gs): `Code.gs`

### Entry data

- **Google Sheets**

### Other components

- **Scanner user**
- **Dashboard viewer**

## Connections

- Scanner user → QR upload scanner: uploads QR
- QR upload scanner → Web app handler: submits scan
- Web app handler → User validation: validates user
- Web app handler → IN/OUT detection: detects direction
- Web app handler → Duplicate prevention: checks duplicates
- Web app handler → Entry logging: logs entry
- Entry logging → Google Sheets: writes entry
- Dashboard viewer → Live dashboard: views dashboard
- Live dashboard → Web app handler: requests dashboard
- Web app handler → Google Sheets: reads entries
- Web app handler → Live dashboard: returns dashboard data
