21 - Admin Section

Overview

The Admin section provides system configuration and management capabilities including freeze quantity management, market holidays, market timings, and security monitoring.

Architecture Diagram

┌──────────────────────────────────────────────────────────────────────────────┐
│                          Admin Section Architecture                           │
└──────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────────────────┐
│                              Admin Dashboard                                 │
│                              /admin                                          │
│                                                                              │
│  ┌─────────────────┐  ┌─────────────────┐  ┌─────────────────┐             │
│  │  Freeze Qty     │  │   Holidays      │  │  Market Timings │             │
│  │  Management     │  │   Calendar      │  │  Configuration  │             │
│  │  /admin/freeze  │  │  /admin/holidays│  │  /admin/timings │             │
│  └────────┬────────┘  └────────┬────────┘  └────────┬────────┘             │
│           │                    │                    │                       │
│           └────────────────────┼────────────────────┘                       │
│                                │                                             │
│                                ▼                                             │
│  ┌─────────────────────────────────────────────────────────────────────┐   │
│  │                     Admin API Endpoints                              │   │
│  │                     /admin/api/*                                     │   │
│  └─────────────────────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────────────────┐
│                          Monitoring Dashboards                               │
│                                                                              │
│  ┌─────────────────┐  ┌─────────────────┐  ┌─────────────────┐             │
│  │    Security     │  │    Traffic      │  │    Latency      │             │
│  │   Dashboard     │  │   Dashboard     │  │   Dashboard     │             │
│  │ /logs/security  │  │  /logs/traffic  │  │  /logs/latency  │             │
│  │                 │  │                 │  │                 │             │
│  │  - IP bans      │  │  - HTTP logs    │  │  - Order RTT    │             │
│  │  - 404 tracking │  │  - Request/sec  │  │  - Percentiles  │             │
│  │  - API abuse    │  │  - Error rates  │  │  - SLA metrics  │             │
│  └─────────────────┘  └─────────────────┘  └─────────────────┘             │
└─────────────────────────────────────────────────────────────────────────────┘

Freeze Quantity Management

Purpose

Manage F&O freeze quantity limits for automatic order splitting.

API Endpoints

Method
Endpoint
Description

GET

/admin/api/freeze

List all freeze quantities

POST

/admin/api/freeze

Add new entry

PUT

/admin/api/freeze/<id>

Update entry

DELETE

/admin/api/freeze/<id>

Delete entry

POST

/admin/api/freeze/upload

Bulk CSV upload

Database Schema

Example Request

Common Freeze Quantities

Symbol
Exchange
Freeze Qty

NIFTY

NFO

1800

BANKNIFTY

NFO

900

FINNIFTY

NFO

1800

SENSEX

BFO

1000

Market Holidays Management

Purpose

Maintain trading holidays calendar for all exchanges.

API Endpoints

Method
Endpoint
Description

GET

/admin/api/holidays?year=2024

Get holidays for year

POST

/admin/api/holidays

Add new holiday

DELETE

/admin/api/holidays/<id>

Delete holiday

Database Schema

Holiday Types

Type
Description

TRADING_HOLIDAY

Full market closure

SETTLEMENT_HOLIDAY

Settlement closed

SPECIAL_SESSION

Muhurat trading

Supported Exchanges

  • NSE (National Stock Exchange)

  • BSE (Bombay Stock Exchange)

  • NFO (NSE F&O)

  • BFO (BSE F&O)

  • MCX (Multi Commodity Exchange)

  • CDS (Currency Derivatives)

  • BCD (BSE Currency Derivatives)

Example Request

Market Timings Configuration

Purpose

Configure trading session timings for each exchange.

API Endpoints

Method
Endpoint
Description

GET

/admin/api/timings

Get all timings

PUT

/admin/api/timings/<exchange>

Update timing

POST

/admin/api/timings/check

Check for date

Default Timings

Exchange
Market Open
Market Close

NSE

09:15

15:30

BSE

09:15

15:30

NFO

09:15

15:30

BFO

09:15

15:30

CDS

09:00

17:00

BCD

09:00

17:00

MCX

09:00

23:55

Example Request

System Settings

Analyzer Mode Toggle

Settings Schema

Security Dashboard

Access

Features

Security Tables

ip_bans

Stores banned IP addresses with expiry.

error_404_tracker

Tracks 404 errors per IP (threshold: 20/day).

invalid_api_key_tracker

Tracks invalid API attempts per IP (threshold: 10/day).

Traffic Dashboard

Access

Features

  • HTTP request logging

  • Request/response metrics

  • Error rate monitoring

  • API endpoint statistics

Latency Dashboard

Access

Features

  • Order execution latency

  • Round-trip time (RTT)

  • Percentile metrics (P50, P90, P95, P99)

  • SLA compliance tracking

SLA Thresholds

Metric
Target

P50

< 100ms

P90

< 150ms

P99

< 200ms

Access Control

Session Validation

Rate Limiting

Endpoint
Limit

Default API

50/second

CSV Upload

10/minute

React Components

File Structure

API Client

System Permissions

Endpoint

Checks

Path
Required Permission

.env

0o600 (rw-------)

encryption_keys/

0o700 (rwx------)

db/*.db

0o600 (rw-------)

logs/

0o755 (rwxr-xr-x)

Key Files Reference

File
Purpose

blueprints/admin.py

Admin routes

database/qty_freeze_db.py

Freeze quantities

database/market_calendar_db.py

Holidays/timings

database/settings_db.py

Settings table

database/traffic_db.py

Security tables

services/security.py

Security service

frontend/src/pages/admin/

React components

frontend/src/api/admin.ts

API client

Last updated