# imabhishek81/gorising-service architecture

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

## Overview

This repository combines three live options-scanner strategies with a Java/Next.js operations dashboard. The central workflow is market ticks into strategy engines, signal/setup evaluation, option-trade and stop-loss monitoring, then notifications and trade records. The strategy implementations are parallel variants (HA+ATR, Sliding+Swing, Swing+ATR). Source excerpts are partial and no README was supplied, so the graph limits links to relationships evidenced by the tree or excerpts; dashboard runtime wiring is not established here.

Main entry points: [`master_engine.py`](https://github.com/imabhishek81/gorising-service/blob/main/master_engine.py) (Master engine), [`SCPM (Sliding+Swing)/alert_scanner/setup_engine.py`](https://github.com/imabhishek81/gorising-service/blob/main/SCPM%20(Sliding%2BSwing)/alert_scanner/setup_engine.py) (Setup state), [`BCPM (HA+ATR)/alert_scanner/main.py`](https://github.com/imabhishek81/gorising-service/blob/main/BCPM%20(HA%2BATR)/alert_scanner/main.py) (HA+ATR strategy), [`SCPM (Sliding+Swing)/alert_scanner/main.py`](https://github.com/imabhishek81/gorising-service/blob/main/SCPM%20(Sliding%2BSwing)/alert_scanner/main.py) (Sliding+Swing strategy)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_orchestration["Market orchestration"]
  node_master["Master engine<br/>[master_engine.py]"]
end

subgraph group_strategies["Scanner strategies"]
  node_bcpm["HA+ATR strategy<br/>[main.py]"]
  node_scpm_slide["Sliding+Swing strategy<br/>[main.py]"]
  node_scpm_atr["Swing+ATR strategy<br/>[main.py]"]
  node_bcpm_candles["Tick candles<br/>[candle_engine.py]"]
  node_bcpm_signals["CPM signals<br/>[cpm_signals.py]"]
  node_bcpm_setups["Setup state<br/>[setup_engine.py]"]
  node_bcpm_trailing["Trade trailing"]
  node_slide_candles["Tick candles<br/>[candle_engine.py]"]
  node_slide_signals["CPM signals<br/>[cpm_signals.py]"]
  node_slide_setups["Setup state<br/>[setup_engine.py]"]
  node_slide_levels["Rising levels<br/>[gorising_levels.py]"]
  node_slide_trailing["Trade trailing"]
  node_atr_candles["Tick candles<br/>[candle_engine.py]"]
  node_atr_signals["CPM signals<br/>[cpm_signals.py]"]
  node_atr_setups["Setup state<br/>[setup_engine.py]"]
  node_atr_trailing["Trade trailing"]
end

subgraph group_dashboard["Operations dashboard"]
  node_dashboard_user(("Dashboard operator"))
  node_dashboard_ui["Dashboard pages"]
  node_backend_app["Dashboard backend"]
  node_scanner_process["Scanner process"]
  node_python_client["Python engine client"]
  node_trade_service["Trade journal service"]
  node_trade_store[("Trade records")]
end

subgraph group_integrations["External integrations"]
  node_market(("Market feed"))
  node_fyers["Fyers broker"]
  node_telegram["Telegram"]
  node_megabull["Megabull API"]
end

node_master -->|"loads strategy"| node_scpm_slide
node_master -->|"loads strategy"| node_scpm_atr
node_master -->|"loads strategy"| node_bcpm
node_master -->|"authenticates and connects"| node_fyers
node_slide_setups -->|"uses levels"| node_slide_levels
node_slide_setups -->|"reads candles"| node_slide_candles
node_slide_setups -->|"reads signals"| node_slide_signals
node_slide_setups -.->|"creates broker trade"| node_megabull
node_bcpm_trailing -.->|"creates broker trade"| node_megabull
node_dashboard_user -->|"uses"| node_dashboard_ui
node_trade_service -->|"reads and writes"| node_trade_store
node_scanner_process -->|"uses client"| node_python_client
node_dashboard_ui -.->|"requests"| node_backend_app
node_bcpm -.->|"notifies"| node_telegram
node_scpm_slide -.->|"notifies"| node_telegram
node_scpm_atr -.->|"notifies"| node_telegram

click node_master "https://github.com/imabhishek81/gorising-service/blob/main/master_engine.py"
click node_bcpm "https://github.com/imabhishek81/gorising-service/blob/main/BCPM%20(HA%2BATR)/alert_scanner/main.py"
click node_scpm_slide "https://github.com/imabhishek81/gorising-service/blob/main/SCPM%20(Sliding%2BSwing)/alert_scanner/main.py"
click node_scpm_atr "https://github.com/imabhishek81/gorising-service/blob/main/SCPM%20(Swing%2BATR)/alert_scanner/main.py"
click node_bcpm_candles "https://github.com/imabhishek81/gorising-service/blob/main/BCPM%20(HA%2BATR)/alert_scanner/candle_engine.py"
click node_bcpm_signals "https://github.com/imabhishek81/gorising-service/blob/main/BCPM%20(HA%2BATR)/alert_scanner/cpm_signals.py"
click node_bcpm_setups "https://github.com/imabhishek81/gorising-service/blob/main/BCPM%20(HA%2BATR)/alert_scanner/setup_engine.py"
click node_bcpm_trailing "https://github.com/imabhishek81/gorising-service/blob/main/BCPM%20(HA%2BATR)/alert_scanner/trailing_sl_engine.py"
click node_slide_candles "https://github.com/imabhishek81/gorising-service/blob/main/SCPM%20(Sliding%2BSwing)/alert_scanner/candle_engine.py"
click node_slide_signals "https://github.com/imabhishek81/gorising-service/blob/main/SCPM%20(Sliding%2BSwing)/alert_scanner/cpm_signals.py"
click node_slide_setups "https://github.com/imabhishek81/gorising-service/blob/main/SCPM%20(Sliding%2BSwing)/alert_scanner/setup_engine.py"
click node_slide_levels "https://github.com/imabhishek81/gorising-service/blob/main/SCPM%20(Sliding%2BSwing)/alert_scanner/gorising_levels.py"
click node_slide_trailing "https://github.com/imabhishek81/gorising-service/blob/main/SCPM%20(Sliding%2BSwing)/alert_scanner/trailing_sl_engine.py"
click node_atr_candles "https://github.com/imabhishek81/gorising-service/blob/main/SCPM%20(Swing%2BATR)/alert_scanner/candle_engine.py"
click node_atr_signals "https://github.com/imabhishek81/gorising-service/blob/main/SCPM%20(Swing%2BATR)/alert_scanner/cpm_signals.py"
click node_atr_setups "https://github.com/imabhishek81/gorising-service/blob/main/SCPM%20(Swing%2BATR)/alert_scanner/setup_engine.py"
click node_atr_trailing "https://github.com/imabhishek81/gorising-service/blob/main/SCPM%20(Swing%2BATR)/alert_scanner/trailing_sl_engine.py"
click node_dashboard_ui "https://github.com/imabhishek81/gorising-service/tree/main/dashboard-ui/src/app"
click node_backend_app "https://github.com/imabhishek81/gorising-service/blob/main/dashboard-backend/src/main/java/com/advscanner/dashboard/DashboardBackendApplication.java"
click node_scanner_process "https://github.com/imabhishek81/gorising-service/blob/main/dashboard-backend/src/main/java/com/advscanner/dashboard/service/ScannerProcessService.java"
click node_python_client "https://github.com/imabhishek81/gorising-service/blob/main/dashboard-backend/src/main/java/com/advscanner/dashboard/service/PythonEngineClient.java"
click node_trade_service "https://github.com/imabhishek81/gorising-service/blob/main/dashboard-backend/src/main/java/com/advscanner/dashboard/service/AlgoTradeService.java"
click node_trade_store "https://github.com/imabhishek81/gorising-service/blob/main/dashboard-backend/src/main/java/com/advscanner/dashboard/repository/AlgoTradeRepository.java"

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_master toneBlue
class node_bcpm,node_scpm_slide,node_scpm_atr,node_bcpm_candles,node_bcpm_signals,node_bcpm_setups,node_bcpm_trailing,node_slide_candles,node_slide_signals,node_slide_setups,node_slide_levels,node_slide_trailing,node_atr_candles,node_atr_signals,node_atr_setups,node_atr_trailing toneAmber
class node_dashboard_user,node_dashboard_ui,node_backend_app,node_scanner_process,node_python_client,node_trade_service,node_trade_store toneMint
class node_market,node_fyers,node_telegram,node_megabull toneRose
```

## Components

### Market orchestration

- [Master engine](https://github.com/imabhishek81/gorising-service/blob/main/master_engine.py): `master_engine.py`

### Scanner strategies

- [HA+ATR strategy](https://github.com/imabhishek81/gorising-service/blob/main/BCPM%20(HA%2BATR)/alert_scanner/main.py): `BCPM (HA+ATR)/alert_scanner/main.py`
- [Sliding+Swing strategy](https://github.com/imabhishek81/gorising-service/blob/main/SCPM%20(Sliding%2BSwing)/alert_scanner/main.py): `SCPM (Sliding+Swing)/alert_scanner/main.py`
- [Swing+ATR strategy](https://github.com/imabhishek81/gorising-service/blob/main/SCPM%20(Swing%2BATR)/alert_scanner/main.py): `SCPM (Swing+ATR)/alert_scanner/main.py`
- [Tick candles](https://github.com/imabhishek81/gorising-service/blob/main/BCPM%20(HA%2BATR)/alert_scanner/candle_engine.py): `BCPM (HA+ATR)/alert_scanner/candle_engine.py`
- [CPM signals](https://github.com/imabhishek81/gorising-service/blob/main/BCPM%20(HA%2BATR)/alert_scanner/cpm_signals.py): `BCPM (HA+ATR)/alert_scanner/cpm_signals.py`
- [Setup state](https://github.com/imabhishek81/gorising-service/blob/main/BCPM%20(HA%2BATR)/alert_scanner/setup_engine.py): `BCPM (HA+ATR)/alert_scanner/setup_engine.py`
- [Trade trailing](https://github.com/imabhishek81/gorising-service/blob/main/BCPM%20(HA%2BATR)/alert_scanner/trailing_sl_engine.py): `BCPM (HA+ATR)/alert_scanner/trailing_sl_engine.py`
- [Tick candles](https://github.com/imabhishek81/gorising-service/blob/main/SCPM%20(Sliding%2BSwing)/alert_scanner/candle_engine.py): `SCPM (Sliding+Swing)/alert_scanner/candle_engine.py`
- [CPM signals](https://github.com/imabhishek81/gorising-service/blob/main/SCPM%20(Sliding%2BSwing)/alert_scanner/cpm_signals.py): `SCPM (Sliding+Swing)/alert_scanner/cpm_signals.py`
- [Setup state](https://github.com/imabhishek81/gorising-service/blob/main/SCPM%20(Sliding%2BSwing)/alert_scanner/setup_engine.py): `SCPM (Sliding+Swing)/alert_scanner/setup_engine.py`
- [Rising levels](https://github.com/imabhishek81/gorising-service/blob/main/SCPM%20(Sliding%2BSwing)/alert_scanner/gorising_levels.py): `SCPM (Sliding+Swing)/alert_scanner/gorising_levels.py`
- [Trade trailing](https://github.com/imabhishek81/gorising-service/blob/main/SCPM%20(Sliding%2BSwing)/alert_scanner/trailing_sl_engine.py): `SCPM (Sliding+Swing)/alert_scanner/trailing_sl_engine.py`
- [Tick candles](https://github.com/imabhishek81/gorising-service/blob/main/SCPM%20(Swing%2BATR)/alert_scanner/candle_engine.py): `SCPM (Swing+ATR)/alert_scanner/candle_engine.py`
- [CPM signals](https://github.com/imabhishek81/gorising-service/blob/main/SCPM%20(Swing%2BATR)/alert_scanner/cpm_signals.py): `SCPM (Swing+ATR)/alert_scanner/cpm_signals.py`
- [Setup state](https://github.com/imabhishek81/gorising-service/blob/main/SCPM%20(Swing%2BATR)/alert_scanner/setup_engine.py): `SCPM (Swing+ATR)/alert_scanner/setup_engine.py`
- [Trade trailing](https://github.com/imabhishek81/gorising-service/blob/main/SCPM%20(Swing%2BATR)/alert_scanner/trailing_sl_engine.py): `SCPM (Swing+ATR)/alert_scanner/trailing_sl_engine.py`

### Operations dashboard

- **Dashboard operator**
- [Dashboard pages](https://github.com/imabhishek81/gorising-service/tree/main/dashboard-ui/src/app): `dashboard-ui/src/app`
- [Dashboard backend](https://github.com/imabhishek81/gorising-service/blob/main/dashboard-backend/src/main/java/com/advscanner/dashboard/DashboardBackendApplication.java): `dashboard-backend/src/main/java/com/advscanner/dashboard/DashboardBackendApplication.java`
- [Scanner process](https://github.com/imabhishek81/gorising-service/blob/main/dashboard-backend/src/main/java/com/advscanner/dashboard/service/ScannerProcessService.java): `dashboard-backend/src/main/java/com/advscanner/dashboard/service/ScannerProcessService.java`
- [Python engine client](https://github.com/imabhishek81/gorising-service/blob/main/dashboard-backend/src/main/java/com/advscanner/dashboard/service/PythonEngineClient.java): `dashboard-backend/src/main/java/com/advscanner/dashboard/service/PythonEngineClient.java`
- [Trade journal service](https://github.com/imabhishek81/gorising-service/blob/main/dashboard-backend/src/main/java/com/advscanner/dashboard/service/AlgoTradeService.java): `dashboard-backend/src/main/java/com/advscanner/dashboard/service/AlgoTradeService.java`
- [Trade records](https://github.com/imabhishek81/gorising-service/blob/main/dashboard-backend/src/main/java/com/advscanner/dashboard/repository/AlgoTradeRepository.java): `dashboard-backend/src/main/java/com/advscanner/dashboard/repository/AlgoTradeRepository.java`

### External integrations

- **Market feed**
- **Fyers broker**
- **Telegram**
- **Megabull API**

## Connections

- Master engine → Sliding+Swing strategy: loads strategy
- Master engine → Swing+ATR strategy: loads strategy
- Master engine → HA+ATR strategy: loads strategy
- Master engine → Fyers broker: authenticates and connects
- Setup state → Rising levels: uses levels
- Setup state → Tick candles: reads candles
- Setup state → CPM signals: reads signals
- Setup state → Megabull API: creates broker trade
- Trade trailing → Megabull API: creates broker trade
- Dashboard operator → Dashboard pages: uses
- Trade journal service → Trade records: reads and writes
- Scanner process → Python engine client: uses client
- Dashboard pages → Dashboard backend: requests
- HA+ATR strategy → Telegram: notifies
- Sliding+Swing strategy → Telegram: notifies
- Swing+ATR strategy → Telegram: notifies
