Lasry BESKIWIN
Menu
CV FR
All projects

Delivery System Redis ↔ MongoDB

One lifecycle. Two ways to handle events.

One delivery workflow implemented twice, to compare event propagation against access to a state that keeps changing.

Two bicycle couriers, one blue and one raspberry, carry parcels in two versions of the same journey.
Conceptual project illustration, created with ImageGen.

Backend · Events · Individual project · 2025

  • Python
  • Redis
  • MongoDB
  • Git
  • Bash

The starting point.

Compare event propagation and persistent state by implementing the same order lifecycle with Redis and MongoDB.

What I built.

My own contribution to the project.

Individual project. Designed and built alone.

  • Two lifecycle implementations

    A customer, a manager and a driver move one order along a single lifecycle. One version rests on Redis Pub/Sub and explicit structures. The other on a MongoDB order document observed through Change Streams.

Two approaches to the same problem.

The customer, manager and driver move the same order forward. What differs is how events propagate and how state is read.

Scroll the table horizontally to read all columns.

Comparison of the two project implementations
Comparison pointRedisMongoDB
MechanismPub/SubChange Streams
OrganisationExplicit structures and published eventsOrder document observed as it is updated
What this version highlightsEvent propagationInspecting changing state

The shared lifecycle

  1. NEW
  2. PUBLISHED
  3. ASSIGNED
  4. DELIVERED

Shared lifecycle in both versions, in this order. The project compares models on one workflow without claiming that either technology is better overall.

What I learned.

For this workflow, MongoDB makes an order’s state easier to inspect while it changes, and Redis makes event propagation explicit. Neither one is simply better than the other.