Analysis updated 2026-05-18
Study a working example of Kafka-based event-driven architecture in TypeScript.
Watch simulated drivers move on a live map to understand real-time WebSocket updates.
Learn how to compute streaming analytics like average speed and throughput from an event stream.
| aloksingh1st/mini-uber | 0xradioac7iv/tempfs | 7vignesh/pgpulse | |
|---|---|---|---|
| Stars | 0 | 0 | 0 |
| Language | TypeScript | TypeScript | TypeScript |
| Setup difficulty | moderate | moderate | moderate |
| Complexity | 4/5 | 3/5 | 4/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires a running Apache Kafka instance in addition to npm install.
Mini Uber is a learning project that simulates the backend of a ride-sharing app like Uber, built specifically to explore how real-time streaming systems work rather than to be a usable product. The author states plainly that the goal was hands-on practice with distributed systems, not building something production-ready. At its core, the project simulates multiple drivers moving along real road networks, using the OSRM routing API to generate realistic routes and smoothly interpolating their GPS positions over time. Each simulated driver's location is published as an event to Apache Kafka, a system for handling streams of messages between different parts of an application. Kafka runs in a mode called KRaft, and topics for these location events are created automatically by the code. Two separate services then consume that same stream of driver location events independently. A tracking service forwards live positions to a web dashboard through Socket.IO, a tool for real-time communication between server and browser, where they're displayed on an interactive Leaflet map. An analytics service processes the same events to compute running statistics such as how many drivers are online, their average speed, total distance traveled, and how many messages are flowing through the system per second, then pushes those numbers to the same dashboard. The project is written in TypeScript with Node.js and Express, and the README includes several diagrams showing the event flow and analytics processing pipeline. To run it, you install dependencies with npm and start it with a single dev command. The author describes the project as intentionally complete as is, meant to demonstrate event-driven architecture, Kafka fundamentals, and WebSocket based real-time updates rather than to grow into a full ride-sharing platform.
A learning project simulating Uber-style ride tracking to practice real-time event streaming with Kafka and WebSockets.
Mainly TypeScript. The stack also includes TypeScript, Node.js, Express.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.