# nishchaykush-dev/raasta-web architecture

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

- Interactive diagram: https://gitdiagram.com/nishchaykush-dev/raasta-web
- Repository: https://github.com/nishchaykush-dev/raasta-web

## Overview

Raasta-Web is a hackathon repository containing electricity-service demos, multiple Saarthi assistant iterations, a browser-extension version, and a separate safe-website-practice app. The central demonstrated workflow is a person using an electricity portal with Saarthi’s bilingual, step-by-step guidance and safety cues; the extension adds per-tab activation and page injection. The excerpts do not establish how the demo pages load their scripts or connect to backend services, so those links are omitted. Several product capabilities are visible only in sampled excerpts or file names.

Main entry points: [`Learn It First/public/safe-website-practice.html`](https://github.com/nishchaykush-dev/raasta-web/blob/main/Learn%20It%20First/public/safe-website-practice.html) (Practice website), [`Learn It First/server.js`](https://github.com/nishchaykush-dev/raasta-web/blob/main/Learn%20It%20First/server.js) (Guidance server), [`extension_v0.1/extension/background.js`](https://github.com/nishchaykush-dev/raasta-web/blob/main/extension_v0.1/extension/background.js) (Tab controller), [`1st demo website/app.js`](https://github.com/nishchaykush-dev/raasta-web/blob/main/1st%20demo%20website/app.js) (Service portal demo)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_portal["Electricity demos"]
  node_electricity_demo["Service portal demo<br/>[app.js]"]
end

subgraph group_assistant["Saarthi iterations"]
  node_saarthi03["Saarthi v0.3<br/>[raasta.js]"]
  node_saarthi04["Saarthi v0.4<br/>[raasta.js]"]
  node_saarthi05["Saarthi v0.5<br/>[raasta.js]"]
  node_saarthi06["Saarthi v0.6<br/>[raasta.js]"]
  node_saarthi07["Saarthi v0.7.1<br/>[raasta.js]"]
end

subgraph group_extension["Browser extension"]
  node_extension_background["Tab controller<br/>[background.js]"]
  node_extension_assistant["Injected Saarthi<br/>[raasta.js]"]
end

subgraph group_practice["Practice app"]
  node_practice_page["Practice website"]
  node_practice_server["Guidance server<br/>[server.js]"]
end

node_visitor(("Portal visitor"))
node_practice_learner(("Practice learner"))
node_gemini["Google Gemini"]

node_visitor -->|"uses services"| node_electricity_demo
node_visitor -.->|"uses guidance"| node_saarthi03
node_visitor -.->|"uses guidance"| node_saarthi04
node_visitor -.->|"uses guidance"| node_saarthi05
node_visitor -.->|"uses guidance"| node_saarthi06
node_visitor -.->|"uses guidance"| node_saarthi07
node_extension_background -->|"injects script"| node_extension_assistant
node_practice_learner -->|"practises on"| node_practice_page
node_practice_page -.->|"requests guidance"| node_practice_server
node_practice_server -.->|"generates guidance"| node_gemini

click node_electricity_demo "https://github.com/nishchaykush-dev/raasta-web/blob/main/1st%20demo%20website/app.js"
click node_saarthi03 "https://github.com/nishchaykush-dev/raasta-web/blob/main/saarthi%20_v0.3/raasta.js"
click node_saarthi04 "https://github.com/nishchaykush-dev/raasta-web/blob/main/saarthi_v0.4/raasta.js"
click node_saarthi05 "https://github.com/nishchaykush-dev/raasta-web/blob/main/saarthi_v0.5/raasta.js"
click node_saarthi06 "https://github.com/nishchaykush-dev/raasta-web/blob/main/saarthi_v0.6/raasta.js"
click node_saarthi07 "https://github.com/nishchaykush-dev/raasta-web/blob/main/saarthi_v0.7.1/raasta.js"
click node_extension_background "https://github.com/nishchaykush-dev/raasta-web/blob/main/extension_v0.1/extension/background.js"
click node_extension_assistant "https://github.com/nishchaykush-dev/raasta-web/blob/main/extension_v0.1/extension/raasta.js"
click node_practice_page "https://github.com/nishchaykush-dev/raasta-web/blob/main/Learn%20It%20First/public/safe-website-practice.html"
click node_practice_server "https://github.com/nishchaykush-dev/raasta-web/blob/main/Learn%20It%20First/server.js"

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_electricity_demo toneBlue
class node_saarthi03,node_saarthi04,node_saarthi05,node_saarthi06,node_saarthi07 toneAmber
class node_extension_background,node_extension_assistant toneMint
class node_practice_page,node_practice_server toneRose
class node_visitor,node_practice_learner,node_gemini toneIndigo
```

## Components

### Electricity demos

- [Service portal demo](https://github.com/nishchaykush-dev/raasta-web/blob/main/1st%20demo%20website/app.js): `1st demo website/app.js`

### Saarthi iterations

- [Saarthi v0.3](https://github.com/nishchaykush-dev/raasta-web/blob/main/saarthi%20_v0.3/raasta.js): `saarthi _v0.3/raasta.js`
- [Saarthi v0.4](https://github.com/nishchaykush-dev/raasta-web/blob/main/saarthi_v0.4/raasta.js): `saarthi_v0.4/raasta.js`
- [Saarthi v0.5](https://github.com/nishchaykush-dev/raasta-web/blob/main/saarthi_v0.5/raasta.js): `saarthi_v0.5/raasta.js`
- [Saarthi v0.6](https://github.com/nishchaykush-dev/raasta-web/blob/main/saarthi_v0.6/raasta.js): `saarthi_v0.6/raasta.js`
- [Saarthi v0.7.1](https://github.com/nishchaykush-dev/raasta-web/blob/main/saarthi_v0.7.1/raasta.js): `saarthi_v0.7.1/raasta.js`

### Browser extension

- [Tab controller](https://github.com/nishchaykush-dev/raasta-web/blob/main/extension_v0.1/extension/background.js): `extension_v0.1/extension/background.js`
- [Injected Saarthi](https://github.com/nishchaykush-dev/raasta-web/blob/main/extension_v0.1/extension/raasta.js): `extension_v0.1/extension/raasta.js`

### Practice app

- [Practice website](https://github.com/nishchaykush-dev/raasta-web/blob/main/Learn%20It%20First/public/safe-website-practice.html): `Learn It First/public/safe-website-practice.html`
- [Guidance server](https://github.com/nishchaykush-dev/raasta-web/blob/main/Learn%20It%20First/server.js): `Learn It First/server.js`

### Other components

- **Portal visitor**
- **Practice learner**
- **Google Gemini**

## Connections

- Portal visitor → Service portal demo: uses services (evidence: `1st demo website/app.js`)
- Portal visitor → Saarthi v0.3: uses guidance
- Portal visitor → Saarthi v0.4: uses guidance
- Portal visitor → Saarthi v0.5: uses guidance
- Portal visitor → Saarthi v0.6: uses guidance
- Portal visitor → Saarthi v0.7.1: uses guidance
- Tab controller → Injected Saarthi: injects script (evidence: `extension_v0.1/extension/background.js`)
- Practice learner → Practice website: practises on
- Practice website → Guidance server: requests guidance
- Guidance server → Google Gemini: generates guidance
