Architecture Diagram

SentinelBERT System Architecture Diagrams

High-Level System Architecture

graph TB
    subgraph "Data Sources"
        X[X.com API]
        IG[Instagram API]
        RD[Reddit API]
        FB[Facebook API]
        TG[Telegram API]
    end

    subgraph "Ingestion Layer (Rust)"
        API_SCRAPER[API Scrapers]
        RATE_LIMITER[Rate Limiter]
        DATA_VALIDATOR[Data Validator]
        ETL_PIPELINE[ETL Pipeline]
    end

    subgraph "Message Queue"
        KAFKA[Apache Kafka]
        REDIS_QUEUE[Redis Queue]
    end

    subgraph "Processing Layer (Python)"
        NLP_SERVICE[NLP Service]
        BERT_MODEL[BERT Model]
        SENTIMENT_ANALYZER[Sentiment Analyzer]
        BEHAVIOR_DETECTOR[Behavior Pattern Detector]
        INFLUENCE_CALCULATOR[Influence Calculator]
    end

    subgraph "Storage Layer"
        POSTGRES[(PostgreSQL)]
        ELASTICSEARCH[(ElasticSearch)]
        REDIS_CACHE[(Redis Cache)]
        OBJECT_STORAGE[(Object Storage)]
    end

    subgraph "Backend Services (Spring Boot)"
        API_GATEWAY[API Gateway]
        AUTH_SERVICE[Auth Service]
        QUERY_SERVICE[Query Service]
        ANALYTICS_SERVICE[Analytics Service]
        USER_SERVICE[User Service]
        NOTIFICATION_SERVICE[Notification Service]
    end

    subgraph "Frontend (React)"
        DASHBOARD[Dashboard]
        TIMELINE_VIEW[Timeline View]
        ANALYTICS_PANEL[Analytics Panel]
        SEARCH_INTERFACE[Search Interface]
        ADMIN_PANEL[Admin Panel]
    end

    subgraph "Security & Monitoring"
        AUDIT_LOGGER[Audit Logger]
        PROMETHEUS[Prometheus]
        GRAFANA[Grafana]
        ALERTMANAGER[AlertManager]
    end

    %% Data Flow
    X --> API_SCRAPER
    IG --> API_SCRAPER
    RD --> API_SCRAPER
    FB --> API_SCRAPER
    TG --> API_SCRAPER

    API_SCRAPER --> RATE_LIMITER
    RATE_LIMITER --> DATA_VALIDATOR
    DATA_VALIDATOR --> ETL_PIPELINE
    ETL_PIPELINE --> KAFKA

    KAFKA --> NLP_SERVICE
    NLP_SERVICE --> BERT_MODEL
    BERT_MODEL --> SENTIMENT_ANALYZER
    BERT_MODEL --> BEHAVIOR_DETECTOR
    BERT_MODEL --> INFLUENCE_CALCULATOR

    SENTIMENT_ANALYZER --> POSTGRES
    BEHAVIOR_DETECTOR --> POSTGRES
    INFLUENCE_CALCULATOR --> POSTGRES

    ETL_PIPELINE --> ELASTICSEARCH
    NLP_SERVICE --> REDIS_CACHE

    POSTGRES --> QUERY_SERVICE
    ELASTICSEARCH --> QUERY_SERVICE
    REDIS_CACHE --> QUERY_SERVICE

    API_GATEWAY --> AUTH_SERVICE
    API_GATEWAY --> QUERY_SERVICE
    API_GATEWAY --> ANALYTICS_SERVICE
    API_GATEWAY --> USER_SERVICE

    QUERY_SERVICE --> DASHBOARD
    ANALYTICS_SERVICE --> ANALYTICS_PANEL
    QUERY_SERVICE --> TIMELINE_VIEW
    AUTH_SERVICE --> SEARCH_INTERFACE

    %% Monitoring
    API_GATEWAY --> AUDIT_LOGGER
    NLP_SERVICE --> PROMETHEUS
    QUERY_SERVICE --> PROMETHEUS
    PROMETHEUS --> GRAFANA
    PROMETHEUS --> ALERTMANAGER

    classDef rustService fill:#dea584
    classDef pythonService fill:#3776ab
    classDef javaService fill:#ed8b00
    classDef reactService fill:#61dafb
    classDef database fill:#336791
    classDef queue fill:#ff6b6b

    class API_SCRAPER,RATE_LIMITER,DATA_VALIDATOR,ETL_PIPELINE rustService
    class NLP_SERVICE,BERT_MODEL,SENTIMENT_ANALYZER,BEHAVIOR_DETECTOR,INFLUENCE_CALCULATOR pythonService
    class API_GATEWAY,AUTH_SERVICE,QUERY_SERVICE,ANALYTICS_SERVICE,USER_SERVICE,NOTIFICATION_SERVICE javaService
    class DASHBOARD,TIMELINE_VIEW,ANALYTICS_PANEL,SEARCH_INTERFACE,ADMIN_PANEL reactService
    class POSTGRES,ELASTICSEARCH,REDIS_CACHE,OBJECT_STORAGE database
    class KAFKA,REDIS_QUEUE queue

Data Processing Pipeline

sequenceDiagram
    participant DS as Data Sources
    participant RS as Rust Ingestion
    participant K as Kafka
    participant PS as Python NLP
    participant DB as Database
    participant SB as Spring Boot
    participant FE as Frontend

    DS->>RS: Raw social media data
    RS->>RS: Rate limiting & validation
    RS->>K: Publish to queue
    K->>PS: Consume messages
    PS->>PS: BERT analysis
    PS->>DB: Store results

    FE->>SB: User search query
    SB->>DB: Query data
    DB->>SB: Return results
    SB->>PS: Request analysis
    PS->>SB: Analysis results
    SB->>FE: Formatted response

    Note over PS,DB: Real-time processing
    Note over SB,FE: Interactive dashboard

Microservices Architecture

graph LR
    subgraph "API Gateway Layer"
        GATEWAY[Spring Cloud Gateway]
        LB[Load Balancer]
    end

    subgraph "Authentication"
        AUTH[Auth Service]
        JWT[JWT Service]
        RBAC[RBAC Service]
    end

    subgraph "Core Services"
        QUERY[Query Service]
        ANALYTICS[Analytics Service]
        USER[User Service]
        EXPORT[Export Service]
    end

    subgraph "Processing Services"
        INGESTION[Ingestion Service]
        NLP[NLP Service]
        NOTIFICATION[Notification Service]
    end

    subgraph "Data Layer"
        POSTGRES[(PostgreSQL)]
        ELASTIC[(ElasticSearch)]
        REDIS[(Redis)]
    end

    LB --> GATEWAY
    GATEWAY --> AUTH
    GATEWAY --> QUERY
    GATEWAY --> ANALYTICS
    GATEWAY --> USER
    GATEWAY --> EXPORT

    AUTH --> JWT
    AUTH --> RBAC

    QUERY --> POSTGRES
    QUERY --> ELASTIC
    QUERY --> REDIS

    ANALYTICS --> POSTGRES
    ANALYTICS --> ELASTIC

    INGESTION --> NLP
    NLP --> POSTGRES
    NLP --> REDIS

    classDef gateway fill:#ff9999
    classDef auth fill:#99ccff
    classDef core fill:#99ff99
    classDef processing fill:#ffcc99
    classDef data fill:#cc99ff

    class GATEWAY,LB gateway
    class AUTH,JWT,RBAC auth
    class QUERY,ANALYTICS,USER,EXPORT core
    class INGESTION,NLP,NOTIFICATION processing
    class POSTGRES,ELASTIC,REDIS data

Deployment Architecture

graph TB
    subgraph "Kubernetes Cluster"
        subgraph "Ingress"
            NGINX[NGINX Ingress]
            CERT[Cert Manager]
        end

        subgraph "Application Pods"
            subgraph "Frontend Tier"
                REACT1[React Pod 1]
                REACT2[React Pod 2]
                REACT3[React Pod 3]
            end

            subgraph "Backend Tier"
                SPRING1[Spring Boot Pod 1]
                SPRING2[Spring Boot Pod 2]
                SPRING3[Spring Boot Pod 3]
            end

            subgraph "Processing Tier"
                RUST1[Rust Pod 1]
                RUST2[Rust Pod 2]
                PYTHON1[Python Pod 1]
                PYTHON2[Python Pod 2]
            end
        end

        subgraph "Data Tier"
            POSTGRES_MASTER[(PostgreSQL Master)]
            POSTGRES_REPLICA[(PostgreSQL Replica)]
            ELASTIC_CLUSTER[(ElasticSearch Cluster)]
            REDIS_CLUSTER[(Redis Cluster)]
        end

        subgraph "Monitoring"
            PROMETHEUS[Prometheus]
            GRAFANA[Grafana]
            JAEGER[Jaeger Tracing]
        end
    end

    subgraph "External Services"
        SOCIAL_APIS[Social Media APIs]
        OBJECT_STORE[Object Storage]
        EMAIL_SERVICE[Email Service]
    end

    NGINX --> REACT1
    NGINX --> REACT2
    NGINX --> REACT3

    REACT1 --> SPRING1
    REACT2 --> SPRING2
    REACT3 --> SPRING3

    SPRING1 --> POSTGRES_MASTER
    SPRING2 --> POSTGRES_REPLICA
    SPRING3 --> POSTGRES_MASTER

    RUST1 --> SOCIAL_APIS
    RUST2 --> SOCIAL_APIS
    RUST1 --> PYTHON1
    RUST2 --> PYTHON2

    PYTHON1 --> POSTGRES_MASTER
    PYTHON2 --> POSTGRES_MASTER

    SPRING1 --> ELASTIC_CLUSTER
    SPRING2 --> ELASTIC_CLUSTER
    SPRING3 --> ELASTIC_CLUSTER

    SPRING1 --> REDIS_CLUSTER
    SPRING2 --> REDIS_CLUSTER
    SPRING3 --> REDIS_CLUSTER

    classDef frontend fill:#61dafb
    classDef backend fill:#ed8b00
    classDef processing fill:#dea584,color:#000
    classDef database fill:#336791
    classDef monitoring fill:#ff6b6b

    class REACT1,REACT2,REACT3 frontend
    class SPRING1,SPRING2,SPRING3 backend
    class RUST1,RUST2,PYTHON1,PYTHON2 processing
    class POSTGRES_MASTER,POSTGRES_REPLICA,ELASTIC_CLUSTER,REDIS_CLUSTER database
    class PROMETHEUS,GRAFANA,JAEGER monitoring

Security Architecture

graph TB
    subgraph "External Access"
        USER[Investigators]
        ADMIN[System Admins]
    end

    subgraph "Security Perimeter"
        WAF[Web Application Firewall]
        DDoS[DDoS Protection]
        RATE_LIMIT[Rate Limiting]
    end

    subgraph "Authentication Layer"
        SSO[Single Sign-On]
        MFA[Multi-Factor Auth]
        JWT_SERVICE[JWT Service]
    end

    subgraph "Authorization Layer"
        RBAC_SERVICE[RBAC Service]
        POLICY_ENGINE[Policy Engine]
        AUDIT_SERVICE[Audit Service]
    end

    subgraph "Application Security"
        INPUT_VALIDATION[Input Validation]
        OUTPUT_ENCODING[Output Encoding]
        CSRF_PROTECTION[CSRF Protection]
        XSS_PROTECTION[XSS Protection]
    end

    subgraph "Data Security"
        ENCRYPTION_AT_REST[Encryption at Rest]
        ENCRYPTION_IN_TRANSIT[Encryption in Transit]
        DATA_MASKING[Data Masking]
        KEY_MANAGEMENT[Key Management]
    end

    subgraph "Network Security"
        VPC[Virtual Private Cloud]
        NETWORK_SEGMENTATION[Network Segmentation]
        FIREWALL_RULES[Firewall Rules]
        VPN[VPN Access]
    end

    subgraph "Monitoring & Compliance"
        SIEM[SIEM System]
        LOG_AGGREGATION[Log Aggregation]
        COMPLIANCE_REPORTING[Compliance Reporting]
        THREAT_DETECTION[Threat Detection]
    end

    USER --> WAF
    ADMIN --> WAF
    WAF --> DDoS
    DDoS --> RATE_LIMIT
    RATE_LIMIT --> SSO
    SSO --> MFA
    MFA --> JWT_SERVICE
    JWT_SERVICE --> RBAC_SERVICE
    RBAC_SERVICE --> POLICY_ENGINE
    POLICY_ENGINE --> AUDIT_SERVICE

    AUDIT_SERVICE --> INPUT_VALIDATION
    INPUT_VALIDATION --> OUTPUT_ENCODING
    OUTPUT_ENCODING --> CSRF_PROTECTION
    CSRF_PROTECTION --> XSS_PROTECTION

    XSS_PROTECTION --> ENCRYPTION_AT_REST
    ENCRYPTION_AT_REST --> ENCRYPTION_IN_TRANSIT
    ENCRYPTION_IN_TRANSIT --> DATA_MASKING
    DATA_MASKING --> KEY_MANAGEMENT

    KEY_MANAGEMENT --> VPC
    VPC --> NETWORK_SEGMENTATION
    NETWORK_SEGMENTATION --> FIREWALL_RULES
    FIREWALL_RULES --> VPN

    VPN --> SIEM
    SIEM --> LOG_AGGREGATION
    LOG_AGGREGATION --> COMPLIANCE_REPORTING
    COMPLIANCE_REPORTING --> THREAT_DETECTION

    classDef security fill:#ff6b6b
    classDef auth fill:#4ecdc4
    classDef data fill:#45b7d1
    classDef network fill:#96ceb4
    classDef monitoring fill:#feca57

    class WAF,DDoS,RATE_LIMIT security
    class SSO,MFA,JWT_SERVICE,RBAC_SERVICE,POLICY_ENGINE auth
    class ENCRYPTION_AT_REST,ENCRYPTION_IN_TRANSIT,DATA_MASKING,KEY_MANAGEMENT data
    class VPC,NETWORK_SEGMENTATION,FIREWALL_RULES,VPN network
    class SIEM,LOG_AGGREGATION,COMPLIANCE_REPORTING,THREAT_DETECTION monitoring

ML/NLP Pipeline Architecture

graph LR
    subgraph "Data Preprocessing"
        TEXT_CLEAN[Text Cleaning]
        TOKENIZATION[Tokenization]
        NORMALIZATION[Normalization]
    end

    subgraph "Feature Extraction"
        BERT_EMBEDDINGS[BERT Embeddings]
        USER_FEATURES[User Features]
        TEMPORAL_FEATURES[Temporal Features]
        NETWORK_FEATURES[Network Features]
    end

    subgraph "Model Ensemble"
        SENTIMENT_MODEL[Sentiment Model]
        BEHAVIOR_MODEL[Behavior Model]
        INFLUENCE_MODEL[Influence Model]
        TREND_MODEL[Trend Model]
    end

    subgraph "Post-Processing"
        SCORE_AGGREGATION[Score Aggregation]
        CONFIDENCE_CALCULATION[Confidence Calculation]
        RESULT_VALIDATION[Result Validation]
    end

    subgraph "Model Serving"
        MODEL_CACHE[Model Cache]
        BATCH_INFERENCE[Batch Inference]
        REAL_TIME_INFERENCE[Real-time Inference]
        A_B_TESTING[A/B Testing]
    end

    TEXT_CLEAN --> TOKENIZATION
    TOKENIZATION --> NORMALIZATION
    NORMALIZATION --> BERT_EMBEDDINGS

    BERT_EMBEDDINGS --> SENTIMENT_MODEL
    USER_FEATURES --> BEHAVIOR_MODEL
    TEMPORAL_FEATURES --> INFLUENCE_MODEL
    NETWORK_FEATURES --> TREND_MODEL

    SENTIMENT_MODEL --> SCORE_AGGREGATION
    BEHAVIOR_MODEL --> SCORE_AGGREGATION
    INFLUENCE_MODEL --> SCORE_AGGREGATION
    TREND_MODEL --> SCORE_AGGREGATION

    SCORE_AGGREGATION --> CONFIDENCE_CALCULATION
    CONFIDENCE_CALCULATION --> RESULT_VALIDATION

    RESULT_VALIDATION --> MODEL_CACHE
    MODEL_CACHE --> BATCH_INFERENCE
    MODEL_CACHE --> REAL_TIME_INFERENCE
    MODEL_CACHE --> A_B_TESTING

    classDef preprocessing fill:#ffd93d
    classDef features fill:#6bcf7f
    classDef models fill:#4d96ff
    classDef postprocessing fill:#ff6b6b
    classDef serving fill:#a8e6cf

    class TEXT_CLEAN,TOKENIZATION,NORMALIZATION preprocessing
    class BERT_EMBEDDINGS,USER_FEATURES,TEMPORAL_FEATURES,NETWORK_FEATURES features
    class SENTIMENT_MODEL,BEHAVIOR_MODEL,INFLUENCE_MODEL,TREND_MODEL models
    class SCORE_AGGREGATION,CONFIDENCE_CALCULATION,RESULT_VALIDATION postprocessing
    class MODEL_CACHE,BATCH_INFERENCE,REAL_TIME_INFERENCE,A_B_TESTING serving