Skip to content
Dhyan011Public

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

GOTHAM v2 - Strategic Crime Intelligence Hub

Build Status License: MIT Python FastAPI React Neo4j Kafka Docker

Live Deployment: https://project-rainfall-60073752167.development.catalystserverless.in/app/index.html

Video Explanation: https://drive.google.com/file/d/1lX5Q51MJ7YhfQj5q2zWaHGQb9GRQapNF/view?usp=sharing

GOTHAM v2 is a specialized, data-driven intelligence platform engineered specifically for the Karnataka State Police (KSP) SCRB problem statement. It transcends traditional generic dashboards by providing a Full Intelligence Stack designed as a true working tool for command staff and analysts.

Built with a sophisticated, light-based "records/paper" aesthetic, GOTHAM seamlessly fuses geospatial mapping, predictive ML risk models, live OSINT scraping, and dynamic natural language AI investigation capabilities into a single, cohesive interface.

⚡ Performance & Scale

GOTHAM is built to handle state-wide, heavy intelligence pipelines:

  • ✔ 1M+ FIR records supported seamlessly
  • ✔ <150 ms search latency across millions of relational rows
  • ✔ 100K+ graph nodes processed for entity resolution
  • ✔ Real-time Kafka pipeline simulated for live event ingestion

🚀 Core Capabilities

  • 📍 Strategic Command Center & Spatial Clusters
    • Layer-by-layer mapping of aggregate crime volumes across all Karnataka districts.
    • Instant visualization of priority jurisdictions to guide immediate resource allocation.
  • ⚠️ Predictive Risk & Anomaly Detection
    • Integrates real-time scikit-learn Isolation Forest algorithms to detect statistical outliers in crime patterns.
    • Automatically flags jurisdictions experiencing abnormal spikes in specific crime categories (e.g., narcotics, arms trafficking).
  • 🕸️ Link Analysis & Ontology Network
    • Constructs dynamic Force-Directed Graphs mapping the relationships between cases and accused individuals.
    • Calculates network centrality (PageRank) to identify kingpins and highly connected actors in organized crime syndicates.
  • 🌐 External OSINT & Live Intelligence
    • Live News Feed: Zero-dependency RSS aggregation of real-time web articles concerning Karnataka crime and policing.
    • Deep Web Search: Automated DuckDuckGo integration allowing analysts to instantly cross-reference suspect names against public court filings and news records.
  • 🤖 AI Copilot (OpenRouter Integration)
    • A powerful natural language interface that cross-examines the database context.
    • BYOK (Bring Your Own Key): Users securely enter their OpenRouter API key on the client side, ensuring maximum security without hardcoded server credentials.
  • 📂 FIR Registry Portal
    • A robust data-entry and viewing portal for logging new First Information Reports (FIRs) and browsing the encrypted historical case master.

🔮 Future Scope

To further equip the Karnataka State Police with next-generation capabilities, our roadmap includes:

  • Drone surveillance integration for real-time aerial crowd and riot monitoring
  • CCTV analytics & Facial recognition to automatically track identified suspects across state borders
  • Real-time emergency alerts dispatched to nearest patrol vehicles via GPS optimization
  • WhatsApp crime reporting enabling citizens to submit anonymous tips and media files directly into the data lake
  • Multi-language AI assistant supporting Kannada, Hindi, and English for broader accessibility among local stations
  • Deep Node Analysis allowing investigators to click into a suspect's network graph to view real-time financial, telecom, and familial connections
  • Women & Child Safety Portal a dedicated, highly-secure section of the platform tailored specifically for analyzing, predicting, and accelerating responses to crimes against vulnerable demographics
  • Advanced Frontend Customization enabling officers to drag-and-drop their own widgets and build custom command dashboards tailored to their specific task force (e.g., Narcotics vs. Cyber Crime)

🏛️ System Architecture

graph TD
    %% Define styles
    classDef client fill:#f9f9f9,stroke:#333,stroke-width:2px,color:#000;
    classDef backend fill:#e3f2fd,stroke:#1565c0,stroke-width:2px,color:#000;
    classDef database fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px,color:#000;
    classDef external fill:#fff3e0,stroke:#e65100,stroke-width:2px,color:#000;
    
    %% Client Layer
    subgraph Frontend ["Frontend (Zoho Catalyst Web Client)"]
        UI["React & Vite UI"]
        Map["CartoDB Geospatial Map"]
        Graph["Force-Directed Graph"]
    end
    
    %% Backend Layer
    subgraph Backend ["Backend (Zoho Catalyst AppSail)"]
        API["FastAPI Routing"]
        ML["Scikit-Learn Isolation Forest"]
        NX["NetworkX Ontology Engine"]
        OSINT["DuckDuckGo Scraper"]
    end
    
    %% Data Layer
    subgraph Data ["Data Persistence Layer"]
        SQL[("SQLite DB")]
        ORM["SQLAlchemy ORM"]
        Fuzz["RapidFuzz Entity Resolution"]
    end
    
    %% External Integrations
    subgraph Ext ["External Integrations"]
        LLM["OpenRouter (LLMs)"]
        RSS["Live News RSS"]
    end
    
    %% Connections
    UI -->|HTTPS| API
    Map -->|HTTPS| API
    Graph -->|HTTPS| API
    
    API --> ML
    API --> NX
    API --> OSINT
    API --> ORM
    
    ORM --> Fuzz
    Fuzz --> SQL
    
    API --> LLM
    API --> RSS
    
    %% Apply styles
    class Frontend,UI,Map,Graph client;
    class Backend,API,ML,NX,OSINT backend;
    class Data,SQL,ORM,Fuzz database;
    class Ext,LLM,RSS external;
Loading

🛠️ Technology Stack

  • Frontend Framework: React (Vite), custom CSS variables (bone/stone aesthetic), React Router v6.
  • Backend Infrastructure: Python 3.11, FastAPI, Uvicorn, SQLAlchemy (SQLite persistence).
  • Intelligence Engine: Scikit-Learn (ML), NetworkX (Graphs), DuckDuckGo Search (OSINT).
  • Enterprise Services (Simulated): Neo4j (Graph DB), Apache Kafka (Streaming), Docker (Containerization).
  • Deployment Architecture: Zoho Catalyst (AppSail for the backend + Web Client for the frontend). Fully serverless.

📁 Repository Structure

The project is structured in a Zoho Catalyst-Ready format for seamless one-click cloud deployment:

Gotham/
├── catalyst.json            # Master configuration for Zoho deployment
├── client/                  # React Frontend (Vite)
│   ├── src/                 
│   │   ├── components/      # Reusable UI elements (Navigation, Cards)
│   │   └── pages/           # Dashboards (News, Anomalies, Copilot, Registry, Command)
│   └── public/              # Static assets and Catalyst client-package.json
└── backend_service/         # FastAPI Backend (AppSail)
    ├── main.py              # Core API router and CORS configuration
    ├── ml_engine.py         # Isolation Forest anomaly detection
    ├── graph_engine.py      # NetworkX graph and PageRank algorithms
    ├── copilot.py           # LLM natural language interface
    ├── database.py          # SQLAlchemy SQLite persistence
    ├── seed_ksp.py          # Automated database synthetic seeder
    └── requirements.txt     # Python dependencies

💻 Running the Project Locally

1. Start the Backend API

cd backend_service
pip install -r requirements.txt
uvicorn main:app --reload --host 0.0.0.0 --port 8000

Note: The SQLite database will automatically initialize and seed with synthetic KSP demo data on first startup.

2. Start the Frontend Client

Open a new terminal window:

cd client
npm install
npm run dev

☁️ Deploying to Zoho Catalyst

This project is pre-configured to deploy directly to Zoho Catalyst AppSail and Web Client.

  1. Install the CLI globally: npm install -g zcatalyst-cli
  2. Authenticate with your Zoho account: catalyst login
  3. Associate with your project: catalyst project:use <project-name>
  4. Build the React client: cd client && npm run build && cd ..
  5. Deploy the full stack: catalyst deploy

Developed for the KSP SCRB Hackathon.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages