Backend/
├── main_watchdog.py # The "Brain": Constantly monitors for new files script
├── Drop_xlsx_here/ # The "Trigger": Put your raw Excel files here folder
├── Process/ folder
│ ├── 1_layer.py # parsing the entire one xlxs - outputs 1 csv script
│ ├── 2_layer.py # extracts the order&deals tables - outputs 2 csv script
│ ├── 3_layer.py # from 2 csv, merge into one - outputs 1 csv script
│ ├── 4_layer.py # only all red-rolling_28-metrics (MT5) - outputs 1 csv script
│ ├── 5_layer.py # only all blue-rolling_13-metrics (non-MT5) - outputs 1 csv script
│ ├── 6_layer.py # from 2 csv, all balance-based_41-metrics - outputs 1 csv script
│ ├── 7_layer.py # only all orange (equity-based) rolling_metrics - outputs 1 csv script
│ ├── 8_layer.py # from 1 csv, all equity-based_35metrics - outputs 1 csv script
│ └── 9_layer.py # all balance & equity-based_76metrics - outputs 1 csv script
├── Output_csv_files/ # The "Result": Final processed data ends up here folder
├── Others/
│ ├── cells_dataframe_counter.py
│ ├── linechart_one_row_tester.py
│ └── PQI.py
└── workflow.md
QuasarVaultage
├── .venv/
├── .vscode/
├── backend/
│ ├── [1]_main_watchdog.py # The "Brain": Constantly monitors for new files
│ ├── [2]_Drop_xlsx_here/ # The "Trigger": Put your raw Excel files here
│ ├── [3]_Process/
│ │ ├── 1_layer.py # parsing the entire one xlxs
│ │ ├── 2_layer.py # extracts the order&deals tables
│ │ ├── 3_layer.py # from 2 csv, merge into one
│ │ ├── 4_layer.py # only all red-rolling_28-metrics (MT5)
│ │ ├── 5_layer.py # only all blue-rolling_13-metrics (non-MT5)
│ │ ├── 6_layer.py # from 2 csv, all balance-based_41-metrics
│ │ ├── 7_layer.py # only all orange (equity-based) rolling_metrics
│ │ ├── 8_layer.py # from 1 csv, all equity-based_35metrics
│ │ └── 9_layer.py # all balance & equity-based_76metrics
│ ├── [4]_output_csv_files/ # The "Result": Final processed data ends up here
│ │ ├── Upload-1_ID/ # This is where the parsed file for first uploaded file
│ │ | ├── 1_layer_output.csv # example file
│ │ | ├── 2_layer_output.csv # example file
│ │ | ├── 3_layer_output.csv # example file
│ │ | ├── 4_layer_output.csv # example file
│ │ | ├── 5_layer_output.csv # example file
│ │ | ├── 6_layer_output.csv # example file
│ │ | ├── 7_layer_output.csv # example file
│ │ | ├── 8_layer_output.csv # example file
│ │ | └── 9_layer_output.csv # example file
│ ├── Upload-2_ID/ # This is where the parsed file for second uploaded file
│ ├── Upload-3_ID/ # This is where the parsed file for third uploaded file
│ └── Upload-4_ID/ # and so on, the pattern goes infinite
├── database/ # only stores metadata
├── authentication/ # mont secure authentication process which mainly include email and no password needed
└── frontend/
QuasarVaultage
├── .venv/
├── .vscode/
├── backend/
│ ├── [1]_main_watchdog.py
│ ├── [2]_Drop_xlsx_here/
│ ├── [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
│ └── [4]_output_csv_files/
├── database/
├── authentication/
└── frontend/