Back to projects
Django 5CeleryDRFReact 18

OURQUILANE: Yalidine Delivery

Logistics KPI & Courier Scoring Dashboard

Courier performance platform for a delivery network: a 5-dimension scoring engine, an 8-role access model over a 4-level hierarchy, and a resilient Celery daily ingestion pipeline.

Logistics KPI dashboard architecture: 4-level hierarchy, 5-dimension scoring engine, 8 user roles, and a Celery daily pipeline
Scoring engine over a 4-level hierarchy, with a Celery daily pipeline: paginated fetch → retry/dedup → file backup → recalculate → command cascade.

Overview

A KPI platform that scores courier performance across a national delivery network. A scoring engine rates 5 dimensions on a 0–20 scale with configurable thresholds, an 8-role access model scopes visibility across a 4-level organizational hierarchy (region, station, supervisor, courier), and a Celery pipeline ingests and recalculates the network's data daily with retry, dedup, and backup stages.

What I Did

  • Built a scoring engine rating 5 performance dimensions on a 0–20 point scale with configurable thresholds
  • Modeled a 4-level organizational hierarchy with data visibility scoped per level
  • Implemented an 8-role access model: SuperAdmin, Admin, RegionAdmin, StationAdmin, Superviseur, Livreur, and more
  • Designed the Celery daily pipeline: paginated fetch, retry with deduplication, file backup, score recalculation, and a 5-command cascade
  • Kept the ORM layer abstract over PostgreSQL for reusable query building across hierarchy levels
  • Added cache TTL override controls for operational tuning
  • Built the React 18 + Ant Design frontend with Chart.js KPI visualizations and ExcelJS report exports

Challenges

  • Recalculating network-wide scores daily without impacting dashboard availability
  • Making ingestion resilient to flaky upstream data with retry, dedup, and file backup stages
  • Scoping every query correctly across 8 roles and 4 hierarchy levels
  • Keeping scoring thresholds configurable so operations can tune them without deployments

Results

  • Courier performance became measurable and comparable across the whole network
  • The daily pipeline self-recovers from upstream failures: retries, dedup, and backups are built in
  • Each of the 8 roles sees exactly their slice of the hierarchy, from network-wide down to a single courier
  • Managers export scored reports to Excel directly from the dashboard

Tech Stack

Django 5 + DRF

Robust API layer over a hierarchy-scoped relational model

Celery

Scheduled daily pipeline with retries, dedup, and staged execution

PostgreSQL

Abstract ORM queries aggregating scores across the hierarchy

React 18 + Ant Design

Role-aware dashboard UI with Chart.js visualizations

ExcelJS

Excel exports for management reporting