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
- 01Validates required fields, supported instruments, side, price, and quantity before an order reaches the book.
- 02Keeps price-sorted buy and sell maps with a FIFO queue at each price level, guarded by a mutex per book.
- 03Supports full and partial executions at the resting order's price.
- 04Runs either as a batch CSV processor or a multithreaded TCP server.
- 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