## Project Structure ```text MT5report-parser/ ├── backend/ │ ├── [2]_Drop_xlsx_here/ │ │ ├── drop the xlsx sample here │ │ ├── test.xlsx │ │ └── test_pipeline.xlsx │ ├── [3]_Process/ │ │ ├── 1_layer.py │ │ ├── 2_layer.py │ │ ├── 3_layer.py │ │ ├── 4_layer.py │ │ ├── 5_layer.py │ │ ├── 6_layer.py │ │ ├── 7_layer.py │ │ ├── 8_layer.py │ │ ├── 9_layer.py │ │ ├── ReportTester-263254895.xlsx │ │ ├── test.py │ │ └── test_2.xlsx │ ├── [4]_output_csv_files/ │ │ ├── Upload-1_ID/ │ │ │ ├── 4_layer_output.csv │ │ │ ├── 5_layer_output.csv │ │ │ ├── 6_layer_output.csv │ │ │ ├── 7_layer_output.csv │ │ │ ├── 8_layer_output.csv │ │ │ ├── 9_layer_output.csv │ │ │ ├── extracted_deals.csv │ │ │ ├── extracted_orders.csv │ │ │ ├── merged_extracted_orders_and_deals.csv │ │ │ ├── Sheet1.csv │ │ │ └── visualize_results.py │ │ └── outputs will go here │ ├── .env │ ├── [1]_main_watchdog.py │ ├── server.py │ ├── test_backend.py │ └── workflow.md ├── frontend/ │ ├── public/ │ │ └── vite.svg │ ├── src/ │ │ ├── assets/ │ │ │ └── react.svg │ │ ├── components/ │ │ │ ├── DropZone.jsx │ │ │ ├── FileViewer.jsx │ │ │ └── ResultList.jsx │ │ ├── App.css │ │ ├── App.jsx │ │ ├── index.css │ │ └── main.jsx │ ├── .gitignore │ ├── eslint.config.js │ ├── index.html │ ├── package-lock.json │ ├── package.json │ ├── postcss.config.js │ ├── README.md │ ├── tailwind.config.js │ └── vite.config.js ├── use this for lineschart & y-distribution graphs/ │ ├── Trade Report_graphs.pdf │ ├── Trade Report_graphs.png │ ├── visualize_results (plotlylocalhost).py │ ├── visualize_results (plotlylocalhost, png, pdf ).py │ ├── visualize_results (png, pdf ).py │ └── you either change it in the watchdog.py or directly run this file ├── use this sample file and drop at [2]/ │ └── ReportTester-263254895.xlsx ├── LICENSE ├── metrics_consideration.pdf ├── newplot.png ├── README.md ├── requirements.txt └── TECHSTACK.md ```