Order Management REST API Suite

Overview

A comprehensive Django REST Framework backend for an Order Management System, including order creation, editing, listing with advanced filtering, status management, and rider assignment. The system runs on MongoDB, queues work through Celery and RabbitMQ, and is deployed on Heroku with Slack and Sentry monitoring. Outcome: Reliable, observable order-management backend that handles end-to-end lifecycle from creation to fleet assignment.

Architecture & Pipeline

flowchart LR
    n0["
Client App
Order Management UI
"] n1["
Django REST API
Heroku via GitHub CI
"] n2["
JWT Authentication
Per-request auth
"] n3["
Order Lifecycle Logic
Create · edit · assign · status
"] n4["
MongoDB
Optimized queries
"] n5["
Background Queue
Celery · RabbitMQ · Redis
"] n6["
Slack / Sentry · Dynoscale
Monitoring + auto-scale
"] n0 --> n1 n1 --> n2 n2 --> n3 n3 --> n4 n4 --> n5 n5 --> n6 classDef step0 fill:#f1f5f9,stroke:#64748b,color:#1e293b,stroke-width:2px,rx:10,ry:10; classDef step1 fill:#ecfeff,stroke:#06b6d4,color:#1e293b,stroke-width:2px,rx:10,ry:10; classDef step2 fill:#f0fdfa,stroke:#0d9488,color:#1e293b,stroke-width:2px,rx:10,ry:10; classDef step3 fill:#ecfdf5,stroke:#10b981,color:#1e293b,stroke-width:2px,rx:10,ry:10; classDef step4 fill:#fffbeb,stroke:#f59e0b,color:#1e293b,stroke-width:2px,rx:10,ry:10; class n0 step0; class n1 step1; class n2 step1; class n3 step2; class n4 step3; class n5 step3; class n6 step4;

End-to-end flow derived from this project's scope and tech stack. Tap View Fullscreen for a larger view, or scroll horizontally on small screens.

Key Features

  • Full REST API for orders, assignments, and status transitions
  • Advanced filtering for multi-order listing endpoints
  • JWT-based authentication
  • Celery + RabbitMQ background queues
  • Optimized MongoDB queries with scheduled maintenance scripts
  • Slack and Sentry alerting; Dynoscale for auto-scaling
  • Deployed on Heroku via GitHub CI/CD
  • Tech Stack:** Python, Django, MongoDB, Celery, RabbitMQ, Redis