Skip to content
/ Delph Public

DELPH is a full-stack monitoring system designed to provide a seamless user experience for managing and visualizing data. It features a React-based frontend, a FastAPI backend, and a PostgreSQL database, all orchestrated using Docker for easy deployment.

License

Notifications You must be signed in to change notification settings

ke1rro/Delph

Repository files navigation

DELPH Logo

Project Overview

DELPH - is a self-awareness platform. The main idea is to provide a realtime military event tracking activity across multiple theaters of operation. The platform integrates data from various sources to create a comprehensive situational awareness environment for military personnel and decision makers.

🌐 The website is currently available at delph.live

⚙️ Built with ⚙️

Kafka
Kafka
PostgreSQL
PostgreSQL
Nginx
Nginx
Docker
Docker
FastAPI
FastAPI
MongoDB
MongoDB
Redis
Redis
React
React

Project Structure

DELPH operates as a distributed system with several interconnected components that work together to provide real-time military event tracking. Below is an overview of the system architecture and data flow:

Architecture Overview

The system follows a microservices architecture with the following main components:

Data Flow Pipeline

Data Flow Pipeline
  1. Data Extraction Layer:

    • Multiple data sources are integrated through specialized adapters
    • Adapters transform source-specific data into a standardized format
    • Data is then published to Kafka for distribution
  2. Core Services:

    • Bridge Service: Handles real-time event streaming via WebSockets
    • Historical Data Service: Stores and retrieves past events
    • Core Service: Manages authentication, user sessions, and access control
  3. Storage Layer:

    • PostgreSQL (CoreDB): Stores user data and system configuration
    • Redis (SessionDB): Manages active sessions and temporary data
    • Kafka (Pub/Sub): Facilitates real-time message streaming
    • MongoDB (EventDB): Archives historical event data for querying
  4. Delivery Layer:

    • API Gateway (Nginx): Routes requests to appropriate services
    • Frontend: React-based user interface displaying event data

Event Processing Flow

  1. Events are generated from various sources (e.g., mock producers, external systems)
  2. Events flow through adapters that normalize the data
  3. Standardized events are published to Kafka topics
  4. The Bridge service consumes events and:
    • Forwards real-time updates to connected clients via WebSockets
    • Stores events to MongoDB for historical record
  5. Clients receive updates through WebSocket connections
  6. Historical data can be queried via REST APIs from the Historical Data Service

Military Entity Representation

The system uses standardized military symbology based on APP-6B specifications to represent various entities:

  • Ground units (infantry, armored, artillery, etc.)
  • Air assets (fixed wing, rotary wing, drones)
  • Naval vessels
  • Special operations forces
  • Equipment and installations

NATO APP-6B Military Symbology

Dimension Friendly Hostile Neutral Unknown
Air and space Friendly Air Hostile Air Neutral Air Unknown Air
Ground Friendly Ground Hostile Ground Neutral Ground Unknown Ground
Sea surface Friendly Sea Hostile Sea Neutral Sea Unknown Sea
Subsurface Friendly Subsurface Hostile Subsurface Neutral Subsurface Unknown Subsurface

Application Screenshots

Historical Data View with Time Filtering

Historical Data View

The historical view allows filtering events by time period and entity types, showing past military activities across the map

User Profile Interface

User Profile Interface

Secure user authentication system with profile management capabilities and role-based access control

Real-time Operational Map

Real-time Operational Map

Live visualization of military entities using NATO APP-6B symbology

Dashboard Overview

Dashboard Overview

Command dashboard providing at-a-glance status of current operations, event statistics, and recent activity feeds

Our Team

@draklowell
@draklowell

Bridge Service Lead

Real-time data streaming implementation and WebSocket communication

@ke1rro
@ke1rro

API & Frontend Lead

REST API development and React-based user interface implementation

@Luzefik
@Luzefik

Historical Data Service

Event archiving and historical query system development

@yagodanr
@yagodanr

Historical Data Service

Database optimization and filtering system implementation

References & Inspiration

Delta Platform is a situational awareness and battlefield management system developed by the Ukrainian military services. Our project draws inspiration from this system's approach to real-time military event tracking and visualization using standardized NATO symbology.

The original Delta platform enables Ukrainian forces to maintain comprehensive battlefield awareness through multi-source data integration and collaborative information sharing. It has proven highly effective in modern military operations by providing commanders with accurate, real-time intelligence.

References:

  1. Ministry of Defense of Ukraine, "Delta Situational Awareness System", https://delta.mil.gov.ua/, accessed 2023.
  2. NATO, "APP-6 Military Symbols for Land Based Systems", NATO Standardization Agency, 2019.

About

DELPH is a full-stack monitoring system designed to provide a seamless user experience for managing and visualizing data. It features a React-based frontend, a FastAPI backend, and a PostgreSQL database, all orchestrated using Docker for easy deployment.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 5