# rajveerpspl/bank_mis_parser_backend architecture

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

- Interactive diagram: https://gitdiagram.com/rajveerpspl/bank_mis_parser_backend
- Repository: https://github.com/rajveerpspl/bank_mis_parser_backend

## Overview

This repository is a banking MIS application: users activate and sign in to a web dashboard, then work with uploaded CBS files, operational and regulatory reports, and administration features. The backend includes file scanning and parsing, processing, SQL-backed reporting, report generation, and integration endpoints. The tree and sampled source support these major capabilities, but README content was not provided and most endpoint wiring was not sampled; uncertain connections are therefore omitted.

Main entry points: [`backend/app/api.py`](https://github.com/rajveerpspl/bank_mis_parser_backend/blob/mis_reports/backend/app/api.py) (Backend API), [`frontend/src/App.jsx`](https://github.com/rajveerpspl/bank_mis_parser_backend/blob/mis_reports/frontend/src/App.jsx) (App and session), [`backend/app/db/database.py`](https://github.com/rajveerpspl/bank_mis_parser_backend/blob/mis_reports/backend/app/db/database.py) (MIS database), [`backend/app/parser/dispatcher.py`](https://github.com/rajveerpspl/bank_mis_parser_backend/blob/mis_reports/backend/app/parser/dispatcher.py) (Parser dispatcher)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_user_app["Web application"]
  node_app["App and session<br/>[App.jsx]"]
  node_setup_login["Setup and login"]
  node_dashboard["MIS dashboard<br/>[Dashboard.jsx]"]
  node_api_client["API client<br/>[api.js]"]
  node_report_ui["Reports and analytics<br/>[ReportsTab.jsx]"]
end

subgraph group_ingestion["File ingestion"]
  node_upload["Upload workflow<br/>[UploadTab.jsx]"]
  node_scanner["File scanner"]
  node_discovery["Format discovery<br/>[discovery.py]"]
  node_dispatcher["Parser dispatcher<br/>[dispatcher.py]"]
  node_format_parsers["Bank report parsers"]
  node_processing["Normalize and validate"]
end

subgraph group_data_reports["Data and reporting"]
  node_api["Backend API<br/>[api.py]"]
  node_database[("MIS database<br/>[database.py]")]
  node_tables["Data tables<br/>[tables.py]"]
  node_report_snapshots["Regulatory snapshots"]
  node_bsr_generators["BSR generators<br/>[bsr1_generator.py]"]
  node_pdf_services["PDF and notices"]
end

subgraph group_admin_integrations["Administration and integrations"]
  node_admin_ui["System administration<br/>[SystemSetup.jsx]"]
  node_routers["Admin workflows"]
  node_permissions["Permission delegation"]
  node_license["License verification<br/>[license_manager.py]"]
  node_integration["Integration API"]
end

node_user(("Bank user"))
node_external_system(("CBS or external client"))

node_user -->|"opens"| node_app
node_app -->|"checks status"| node_api
node_app -->|"selects access flow"| node_setup_login
node_app -->|"shows dashboard"| node_dashboard
node_dashboard -->|"requests data"| node_api_client
node_api_client -->|"calls"| node_api
node_user -->|"selects files"| node_upload
node_upload -->|"submits files"| node_api
node_api -->|"scans files"| node_scanner
node_dispatcher -->|"discovers format"| node_discovery
node_dispatcher -->|"dispatches parsing"| node_format_parsers
node_dispatcher -->|"processes files"| node_processing
node_processing -->|"persists data"| node_database
node_api -->|"queries data"| node_database
node_report_snapshots -->|"generates BSR data"| node_bsr_generators
node_report_snapshots -->|"reads and stores"| node_database
node_report_snapshots -->|"creates and inserts"| node_tables
node_user -->|"views reports"| node_report_ui
node_report_ui -->|"requests reports"| node_api_client
node_api -.->|"generates documents"| node_pdf_services
node_user -->|"configures system"| node_admin_ui
node_admin_ui -->|"requests setup"| node_api
node_api -->|"routes admin actions"| node_routers
node_api -.->|"checks permissions"| node_permissions
node_api -.->|"verifies license"| node_license
node_external_system -->|"calls secured endpoints"| node_integration
node_integration -->|"reads table data"| node_database

click node_app "https://github.com/rajveerpspl/bank_mis_parser_backend/blob/mis_reports/frontend/src/App.jsx"
click node_setup_login "https://github.com/rajveerpspl/bank_mis_parser_backend/tree/mis_reports/frontend/src/components"
click node_dashboard "https://github.com/rajveerpspl/bank_mis_parser_backend/blob/mis_reports/frontend/src/components/Dashboard.jsx"
click node_api_client "https://github.com/rajveerpspl/bank_mis_parser_backend/blob/mis_reports/frontend/src/services/api.js"
click node_api "https://github.com/rajveerpspl/bank_mis_parser_backend/blob/mis_reports/backend/app/api.py"
click node_upload "https://github.com/rajveerpspl/bank_mis_parser_backend/blob/mis_reports/frontend/src/components/UploadTab.jsx"
click node_scanner "https://github.com/rajveerpspl/bank_mis_parser_backend/tree/mis_reports/backend/app/scanner"
click node_discovery "https://github.com/rajveerpspl/bank_mis_parser_backend/blob/mis_reports/backend/app/parser/discovery.py"
click node_dispatcher "https://github.com/rajveerpspl/bank_mis_parser_backend/blob/mis_reports/backend/app/parser/dispatcher.py"
click node_format_parsers "https://github.com/rajveerpspl/bank_mis_parser_backend/tree/mis_reports/backend/app/parser/formats"
click node_processing "https://github.com/rajveerpspl/bank_mis_parser_backend/tree/mis_reports/backend/app/processing"
click node_database "https://github.com/rajveerpspl/bank_mis_parser_backend/blob/mis_reports/backend/app/db/database.py"
click node_tables "https://github.com/rajveerpspl/bank_mis_parser_backend/blob/mis_reports/backend/app/db/tables.py"
click node_report_snapshots "https://github.com/rajveerpspl/bank_mis_parser_backend/blob/mis_reports/backend/app/services/report_snapshot_service.py"
click node_bsr_generators "https://github.com/rajveerpspl/bank_mis_parser_backend/blob/mis_reports/backend/app/services/bsr1_generator.py"
click node_report_ui "https://github.com/rajveerpspl/bank_mis_parser_backend/blob/mis_reports/frontend/src/components/ReportsTab.jsx"
click node_pdf_services "https://github.com/rajveerpspl/bank_mis_parser_backend/blob/mis_reports/backend/app/services/notice_pdf_service.py"
click node_admin_ui "https://github.com/rajveerpspl/bank_mis_parser_backend/blob/mis_reports/frontend/src/components/SystemSetup.jsx"
click node_routers "https://github.com/rajveerpspl/bank_mis_parser_backend/tree/mis_reports/backend/app/routers"
click node_permissions "https://github.com/rajveerpspl/bank_mis_parser_backend/blob/mis_reports/backend/app/delegation_service.py"
click node_license "https://github.com/rajveerpspl/bank_mis_parser_backend/blob/mis_reports/backend/app/services/license_manager.py"
click node_integration "https://github.com/rajveerpspl/bank_mis_parser_backend/blob/mis_reports/backend/app/integration_router.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_app,node_setup_login,node_dashboard,node_api_client,node_report_ui,node_user,node_external_system toneBlue
class node_upload,node_scanner,node_discovery,node_dispatcher,node_format_parsers,node_processing toneAmber
class node_api,node_database,node_tables,node_report_snapshots,node_bsr_generators,node_pdf_services toneMint
class node_admin_ui,node_routers,node_permissions,node_license,node_integration toneRose
```

## Components

### Web application

- [App and session](https://github.com/rajveerpspl/bank_mis_parser_backend/blob/mis_reports/frontend/src/App.jsx): `frontend/src/App.jsx`
- [Setup and login](https://github.com/rajveerpspl/bank_mis_parser_backend/tree/mis_reports/frontend/src/components): `frontend/src/components`
- [MIS dashboard](https://github.com/rajveerpspl/bank_mis_parser_backend/blob/mis_reports/frontend/src/components/Dashboard.jsx): `frontend/src/components/Dashboard.jsx`
- [API client](https://github.com/rajveerpspl/bank_mis_parser_backend/blob/mis_reports/frontend/src/services/api.js): `frontend/src/services/api.js`
- [Reports and analytics](https://github.com/rajveerpspl/bank_mis_parser_backend/blob/mis_reports/frontend/src/components/ReportsTab.jsx): `frontend/src/components/ReportsTab.jsx`

### File ingestion

- [Upload workflow](https://github.com/rajveerpspl/bank_mis_parser_backend/blob/mis_reports/frontend/src/components/UploadTab.jsx): `frontend/src/components/UploadTab.jsx`
- [File scanner](https://github.com/rajveerpspl/bank_mis_parser_backend/tree/mis_reports/backend/app/scanner): `backend/app/scanner`
- [Format discovery](https://github.com/rajveerpspl/bank_mis_parser_backend/blob/mis_reports/backend/app/parser/discovery.py): `backend/app/parser/discovery.py`
- [Parser dispatcher](https://github.com/rajveerpspl/bank_mis_parser_backend/blob/mis_reports/backend/app/parser/dispatcher.py): `backend/app/parser/dispatcher.py`
- [Bank report parsers](https://github.com/rajveerpspl/bank_mis_parser_backend/tree/mis_reports/backend/app/parser/formats): `backend/app/parser/formats`
- [Normalize and validate](https://github.com/rajveerpspl/bank_mis_parser_backend/tree/mis_reports/backend/app/processing): `backend/app/processing`

### Data and reporting

- [Backend API](https://github.com/rajveerpspl/bank_mis_parser_backend/blob/mis_reports/backend/app/api.py): `backend/app/api.py`
- [MIS database](https://github.com/rajveerpspl/bank_mis_parser_backend/blob/mis_reports/backend/app/db/database.py): `backend/app/db/database.py`
- [Data tables](https://github.com/rajveerpspl/bank_mis_parser_backend/blob/mis_reports/backend/app/db/tables.py): `backend/app/db/tables.py`
- [Regulatory snapshots](https://github.com/rajveerpspl/bank_mis_parser_backend/blob/mis_reports/backend/app/services/report_snapshot_service.py): `backend/app/services/report_snapshot_service.py`
- [BSR generators](https://github.com/rajveerpspl/bank_mis_parser_backend/blob/mis_reports/backend/app/services/bsr1_generator.py): `backend/app/services/bsr1_generator.py`
- [PDF and notices](https://github.com/rajveerpspl/bank_mis_parser_backend/blob/mis_reports/backend/app/services/notice_pdf_service.py): `backend/app/services/notice_pdf_service.py`

### Administration and integrations

- [System administration](https://github.com/rajveerpspl/bank_mis_parser_backend/blob/mis_reports/frontend/src/components/SystemSetup.jsx): `frontend/src/components/SystemSetup.jsx`
- [Admin workflows](https://github.com/rajveerpspl/bank_mis_parser_backend/tree/mis_reports/backend/app/routers): `backend/app/routers`
- [Permission delegation](https://github.com/rajveerpspl/bank_mis_parser_backend/blob/mis_reports/backend/app/delegation_service.py): `backend/app/delegation_service.py`
- [License verification](https://github.com/rajveerpspl/bank_mis_parser_backend/blob/mis_reports/backend/app/services/license_manager.py): `backend/app/services/license_manager.py`
- [Integration API](https://github.com/rajveerpspl/bank_mis_parser_backend/blob/mis_reports/backend/app/integration_router.py): `backend/app/integration_router.py`

### Other components

- **Bank user**
- **CBS or external client**

## Connections

- Bank user → App and session: opens
- App and session → Backend API: checks status
- App and session → Setup and login: selects access flow
- App and session → MIS dashboard: shows dashboard
- MIS dashboard → API client: requests data
- API client → Backend API: calls
- Bank user → Upload workflow: selects files
- Upload workflow → Backend API: submits files
- Backend API → File scanner: scans files
- Parser dispatcher → Format discovery: discovers format
- Parser dispatcher → Bank report parsers: dispatches parsing
- Parser dispatcher → Normalize and validate: processes files
- Normalize and validate → MIS database: persists data
- Backend API → MIS database: queries data
- Regulatory snapshots → BSR generators: generates BSR data
- Regulatory snapshots → MIS database: reads and stores
- Regulatory snapshots → Data tables: creates and inserts
- Bank user → Reports and analytics: views reports
- Reports and analytics → API client: requests reports
- Backend API → PDF and notices: generates documents
- Bank user → System administration: configures system
- System administration → Backend API: requests setup
- Backend API → Admin workflows: routes admin actions
- Backend API → Permission delegation: checks permissions
- Backend API → License verification: verifies license
- CBS or external client → Integration API: calls secured endpoints
- Integration API → MIS database: reads table data
