← Back to work

05 / 06C++ systems

Flower Exchange

An order exchange simulator built end to end: a C++ matching engine with validation and execution reports, a batch CSV mode, a multithreaded TCP server, a Node.js bridge, and a React dashboard that shows fills as they happen.

Illustration
Team
Solo project
Status
Completed

What I built

  1. 01Validates required fields, supported instruments, side, price, and quantity before an order reaches the book.
  2. 02Keeps price-sorted buy and sell maps with a FIFO queue at each price level, guarded by a mutex per book.
  3. 03Supports full and partial executions at the resting order's price.
  4. 04Runs either as a batch CSV processor or a multithreaded TCP server.
  5. 05Streams browser orders and execution reports through a Socket.IO to TCP bridge.

Scope and limits

  • This is an educational simulation, not a production trading platform.
  • Scenario CSVs cover the expected outputs, but there is no automated test framework.
  • The TCP server is Windows-specific and the wire protocol is plain delimited text.

Built with

  • C++
  • STL
  • TCP/IP
  • Multithreading
  • Node.js
  • WebSockets
  • React