Project Showcase

TorrentEdge

A distributed BitTorrent client built with Node.js, Kafka, and Nginx.

This is a documentation/showcase page for the project — it does not run a live instance of the client (the app depends on Kafka, Nginx, and Dockerized backend services). For the full source and setup instructions, see the GitHub repository.
TorrentEdge dashboard screenshot

Overview

TorrentEdge is a scalable, distributed BitTorrent client that combines peer-to-peer torrenting logic with real-time event streaming. Kafka decouples the core torrenting engine from the API and WebSocket layers, while Nginx handles reverse-proxying for static content, API requests, and WebSocket connections.

Key Features

Tech Stack

Node.js Express Apache Kafka WebSocket (ws) Nginx MongoDB / Mongoose React Docker & Docker Compose

Architecture

bittorrent-client/
├── src/
│   ├── client/        # Core BitTorrent client logic (peer, tracker, piece manager)
│   ├── api/           # REST API + Kafka event monitoring
│   └── server/        # Node.js server (API + WebSocket)
├── kafka/             # Topic config, producer/consumer scripts
├── nginx/             # Reverse proxy config
├── web/               # React dashboard
├── tests/
├── Dockerfile / nginx.Dockerfile / docker-compose.yml
View source on GitHub →    View login UI preview →