# harshavardhannayaka20072007-png/innovation-procurement-bridge architecture

> Architecture diagram of the GitHub repository harshavardhannayaka20072007-png/innovation-procurement-bridge, 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/harshavardhannayaka20072007-png/innovation-procurement-bridge
- Repository: https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge

## Overview

Innovation Procurement Bridge is a Maharashtra public-procurement portal connecting government challenge owners, startups, and evaluators. Its core workflow is challenge publication, startup proposal submission, evaluator scoring and government decisions, followed by pilot delivery with milestone evidence and KPI tracking. Authentication, the audit ledger, and user-facing assistants support that process. The README provides only the product summary; several route modules are represented from their tree paths, but their internal behavior and wiring were not sampled.

Main entry points: [`backend/db.py`](https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/db.py) (SQLite data access), [`backend/ledger.py`](https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/ledger.py) (Audit event recording), [`backend/auth/routes.py`](https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/auth/routes.py) (Authentication), [`backend/milestones/routes.py`](https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/milestones/routes.py) (Milestone review)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_access["Access and guidance"]
  node_auth["Authentication<br/>[routes.py]"]
  node_session["Session access control<br/>[session.py]"]
  node_guide["Portal guide<br/>[routes.py]"]
  node_chatbot["Contextual chatbot<br/>[routes.py]"]
  node_chat_context["Chat context builder<br/>[context_builder.py]"]
  node_chat_service["Chat response service<br/>[service.py]"]
end

subgraph group_procurement["Procurement workflow"]
  node_challenges["Challenge management<br/>[routes.py]"]
  node_applications["Startup applications<br/>[routes.py]"]
  node_evaluation["Proposal scoring<br/>[routes.py]"]
  node_decisions["Procurement decisions<br/>[routes.py]"]
  node_evaluator["Evaluator workspace"]
  node_government["Government workspace"]
end

subgraph group_delivery["Pilot delivery"]
  node_pilot["Pilot progress<br/>[routes.py]"]
  node_milestones["Milestone review<br/>[routes.py]"]
  node_evidence["Evidence access<br/>[routes.py]"]
  node_performance["KPI tracking<br/>[routes.py]"]
end

subgraph group_oversight["Audit and insight"]
  node_audit["Audit ledger view<br/>[routes.py]"]
  node_ledger["Audit event recording<br/>[ledger.py]"]
  node_db[("SQLite data access<br/>[db.py]")]
end

node_users(("Portal users"))
node_app["Flask application<br/>[app.py]"]
node_smtp["SMTP service"]
node_linkedin["LinkedIn identity"]
node_evidence_files["Evidence files"]

node_users -->|"use portal"| node_app
node_auth -->|"read and write"| node_db
node_auth -.->|"send reset code"| node_smtp
node_auth -.->|"verify identity"| node_linkedin
node_challenges -->|"read and write"| node_db
node_challenges -->|"record events"| node_ledger
node_applications -->|"read and write"| node_db
node_applications -->|"record events"| node_ledger
node_evaluation -->|"save scores"| node_db
node_evaluation -->|"record events"| node_ledger
node_milestones -->|"read and update"| node_db
node_milestones -->|"record events"| node_ledger
node_milestones -->|"save uploads"| node_evidence_files
node_evidence -->|"serve files"| node_evidence_files
node_performance -->|"write KPI"| node_db
node_pilot -->|"update progress"| node_db
node_government -->|"query records"| node_db
node_audit -->|"query ledger"| node_db
node_ledger -->|"write events"| node_db
node_guide -->|"query guidance data"| node_db
node_chatbot -->|"build context"| node_chat_context
node_chatbot -->|"generate response"| node_chat_service

click node_app "https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/app.py"
click node_auth "https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/auth/routes.py"
click node_session "https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/auth/session.py"
click node_guide "https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/assistant/routes.py"
click node_chatbot "https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/chatbot/routes.py"
click node_chat_context "https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/chatbot/context_builder.py"
click node_chat_service "https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/chatbot/service.py"
click node_challenges "https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/challenges/routes.py"
click node_applications "https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/applications/routes.py"
click node_evaluation "https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/evaluation/routes.py"
click node_decisions "https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/decisions/routes.py"
click node_evaluator "https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/evaluator_routes.py"
click node_government "https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/government_routes.py"
click node_pilot "https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/pilot/routes.py"
click node_milestones "https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/milestones/routes.py"
click node_evidence "https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/evidence/routes.py"
click node_performance "https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/performance/routes.py"
click node_audit "https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/audit/routes.py"
click node_ledger "https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/ledger.py"
click node_db "https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/db.py"

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_auth,node_session,node_guide,node_chatbot,node_chat_context,node_chat_service,node_users toneBlue
class node_challenges,node_applications,node_evaluation,node_decisions,node_evaluator,node_government toneAmber
class node_pilot,node_milestones,node_evidence,node_performance toneMint
class node_audit,node_ledger,node_db toneRose
class node_app toneTeal
class node_smtp,node_linkedin,node_evidence_files toneIndigo
```

## Components

### Access and guidance

- [Authentication](https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/auth/routes.py): `backend/auth/routes.py`
- [Session access control](https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/auth/session.py): `backend/auth/session.py`
- [Portal guide](https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/assistant/routes.py): `backend/assistant/routes.py`
- [Contextual chatbot](https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/chatbot/routes.py): `backend/chatbot/routes.py`
- [Chat context builder](https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/chatbot/context_builder.py): `backend/chatbot/context_builder.py`
- [Chat response service](https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/chatbot/service.py): `backend/chatbot/service.py`

### Procurement workflow

- [Challenge management](https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/challenges/routes.py): `backend/challenges/routes.py`
- [Startup applications](https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/applications/routes.py): `backend/applications/routes.py`
- [Proposal scoring](https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/evaluation/routes.py): `backend/evaluation/routes.py`
- [Procurement decisions](https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/decisions/routes.py): `backend/decisions/routes.py`
- [Evaluator workspace](https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/evaluator_routes.py): `backend/evaluator_routes.py`
- [Government workspace](https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/government_routes.py): `backend/government_routes.py`

### Pilot delivery

- [Pilot progress](https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/pilot/routes.py): `backend/pilot/routes.py`
- [Milestone review](https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/milestones/routes.py): `backend/milestones/routes.py`
- [Evidence access](https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/evidence/routes.py): `backend/evidence/routes.py`
- [KPI tracking](https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/performance/routes.py): `backend/performance/routes.py`

### Audit and insight

- [Audit ledger view](https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/audit/routes.py): `backend/audit/routes.py`
- [Audit event recording](https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/ledger.py): `backend/ledger.py`
- [SQLite data access](https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/backend/db.py): `backend/db.py`

### Other components

- **Portal users**
- [Flask application](https://github.com/harshavardhannayaka20072007-png/innovation-procurement-bridge/blob/main/app.py): `app.py`
- **SMTP service**
- **LinkedIn identity**
- **Evidence files**

## Connections

- Portal users → Flask application: use portal
- Authentication → SQLite data access: read and write
- Authentication → SMTP service: send reset code
- Authentication → LinkedIn identity: verify identity
- Challenge management → SQLite data access: read and write
- Challenge management → Audit event recording: record events
- Startup applications → SQLite data access: read and write
- Startup applications → Audit event recording: record events
- Proposal scoring → SQLite data access: save scores
- Proposal scoring → Audit event recording: record events
- Milestone review → SQLite data access: read and update
- Milestone review → Audit event recording: record events
- Milestone review → Evidence files: save uploads
- Evidence access → Evidence files: serve files
- KPI tracking → SQLite data access: write KPI
- Pilot progress → SQLite data access: update progress
- Government workspace → SQLite data access: query records
- Audit ledger view → SQLite data access: query ledger
- Audit event recording → SQLite data access: write events
- Portal guide → SQLite data access: query guidance data
- Contextual chatbot → Chat context builder: build context
- Contextual chatbot → Chat response service: generate response
