Back to projects
NestJS 11RabbitMQPostgreSQLRedis

OURQUILANE: Yalidine Delivery

Orders Microservice: Multi-Channel Fulfillment

Event-driven orders microservice for a national delivery company, ingesting HMAC-validated webhooks from Shopify, WooCommerce, and Google Sheets and orchestrating fulfillment end to end.

Orders microservice architecture: API gateway, orders service, fulfillment orchestrator, RabbitMQ, Redis, and PostgreSQL
Monorepo architecture: API gateway → orders service → fulfillment orchestrator, with HMAC-validated webhooks feeding the orders service.

Overview

A production orders microservice powering multi-channel e-commerce fulfillment at Yalidine Delivery. Merchant orders arrive through HMAC-validated webhooks from Shopify, WooCommerce, and Google Sheets, flow through an API gateway into the orders service, and are executed by a fulfillment orchestrator that reconciles stock and records failures. Built as a NestJS 11 monorepo with RabbitMQ messaging, Redis caching, and PostgreSQL persistence.

What I Did

  • Architected a NestJS 11 monorepo: API gateway, orders service, fulfillment orchestrator, and shared libraries (common enums, interfaces, and a reusable microservice client module)
  • Built the API gateway handling routing, authentication, and rate limiting for all inbound traffic
  • Implemented the orders service owning the full order lifecycle, tracking codes, and draft reasons
  • Built HMAC-validated webhook ingestion for Shopify, WooCommerce, and Google Sheets order sources
  • Designed the fulfillment orchestrator with lifecycle hooks, snapshot/delta diffing, stock reconciliation, and failure recording
  • Set up RabbitMQ RPC messaging between services with per-client timeouts to isolate slow consumers
  • Used Redis for caching and session state to keep hot paths off the database
  • Modeled orders and fulfillment plans in PostgreSQL

Challenges

  • Keeping stock consistent while orders arrive concurrently from three external platforms
  • Processing webhooks idempotently so retries from Shopify/WooCommerce never duplicate orders
  • Diffing order snapshots against deltas to compute the minimal fulfillment work on each update
  • Recording and surfacing fulfillment failures without blocking the ingestion pipeline

Results

  • Single source of truth for orders across three sales channels
  • Snapshot/delta diffing avoids reprocessing entire orders on every merchant update
  • HMAC validation and gateway rate limiting protect the pipeline from spoofed or abusive traffic
  • Shared microservice client module standardized inter-service communication across the monorepo

Tech Stack

NestJS 11

Modular monorepo structure with first-class microservice transport support

RabbitMQ

RPC between services with per-client timeouts and reliable delivery

PostgreSQL

Transactional storage for orders and fulfillment plans

Redis

Cache and session state for high-traffic order ingestion