Skip to content

dsarkar10/nexus-pipe-analytics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NexusPipe - A Distributed Real-Time Analytics Pipeline

NexusPipe is a distributed, fault-tolerant pipeline that ingests, processes, and visualizes high-throughput user event data in real-time.

Architecture

The system consists of four main microservices that communicate asynchronously via Apache Kafka:

  1. Collector Service (Node.js): A high-performance ingestion endpoint.
  2. Enrichment Service (Python): Adds contextual data to raw events.
  3. Analytics Service (Python): Aggregates data for real-time dashboards (Redis) and stores it for historical analysis (PostgreSQL).
  4. Query API (Node.js): Serves historical data via a REST API and live data via WebSockets.

Technology Stack

  • Backend: Node.js (Express), Python
  • Frontend: React
  • Messaging: Apache Kafka
  • Databases: Redis (real-time aggregation), MYSQL (historical storage)
  • Real-time Communication: WebSockets

How to Run

  1. Install Infrastructure: Make sure you have Kafka, Zookeeper, Redis, and PostgreSQL running locally.
  2. Create Kafka Topics: Run kafka-topics.sh --create --topic raw-events --bootstrap-server localhost:9092 and ... --create --topic enriched-events ....
  3. Setup Databases: Create a PostgreSQL database and tables.
  4. Install Dependencies: Run npm install or pip install -r requirements.txt in each service directory.
  5. Run Services: Start each of the four backend services in a separate terminal.
  6. Run UI: Start the React development server.
Screenshot 2025-08-30 at 5 25 43 PM Screenshot 2025-08-30 at 5 25 49 PM Screenshot 2025-08-30 at 5 25 56 PM Screenshot 2025-08-30 at 5 26 06 PM Screenshot 2025-08-30 at 6 34 16 PM Screenshot 2025-08-30 at 6 34 49 PM Screenshot 2025-08-30 at 6 34 55 PM Screenshot 2025-08-30 at 6 38 22 PM Screenshot 2025-08-30 at 6 38 30 PM Screenshot 2025-08-30 at 6 40 43 PM Screenshot 2025-08-30 at 6 41 01 PM Screenshot 2025-08-30 at 6 41 09 PM

About

NexusPipe is a distributed, fault-tolerant pipeline that ingests, processes, and visualizes high-throughput user event data in real-time.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages