The Flower Exchange Project is a trading platform for buying and selling flowers, built as part of the LSEG C++ Workshop Series. It includes a C++ back-end for processing orders and a React-based front-end for generating orders in CSV format.
- Clone the repository to your local machine:
- Run the Trader and Exchange applications to simulate placing and matching orders.
git clone <repository_url> - Input: Orders are submitted in CSV format (
orders.csv) containing fields like Order ID, Client Order ID, Instrument, Side (Buy/Sell), Quantity, and Price. - Output: The
execution_rep.csvfile is generated, which shows the status of each order (e.g., New, Partial Fill, Fill, Reject).
- Order validation checks for missing fields, valid flower types, side (buy/sell), valid quantities, and prices. Rejected orders are noted with reasons.
- Orders are sorted and matched based on price and quantity. The system supports full and partial executions of orders.
- An optimized version is available for handling single flower type orders, reducing computation overhead for better performance.
- The execution time is logged in the output for performance analysis.
A separate front-end interface is built using React to allow users (traders) to submit buy and sell orders. The front-end generates the orders.csv file, which is then processed by the Exchange Application.
- Clone the front-end repository:
- Navigate to the project directory:
- Install the dependencies:
- Start the React development server:
- Open your browser and navigate to
http://localhost:3000to access the Trader Application. - Submit orders through the interface, and the
orders.csvfile will be generated automatically.
git clone <repository_url>cd <project_directory>npm installnpm start