# monitoring-athletes-performance **Repository Path**: qiutingli/monitoring-athletes-performance ## Basic Information - **Project Name**: monitoring-athletes-performance - **Description**: No description available - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-03-25 - **Last Updated**: 2021-04-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Monitoring Athletes Performance A CoachingMate analytical module to generate and deliver personalized feedback to coaches and athletes. Training sessions' descriptions could be merged with Garmin data to: - Assess if athletes are training as they should (Are the athletes training as suggested?). - Assess if athletes are training more or less than what they should (Are the athletes over-training or under-training?). - Predict/anticipate athlete risk fatigue levels (to avoid injuries). - Predict performance (We didn't focus on this task, but there's a place holder for future developers, please see the `PerformanceModelBuilder` class in `data_modeling.py` module. Also cleaned data and extracted features are available if needed). ## Guidelines ### Prerequisites #### Python Version `Python 3.6` is preferred. Other Python versions should also work if there are no library conflicts between versions. #### Environment Setup 1. Open the project `monitoring-athletes-performance` with IDE. 2. Use `the monitoring-athletes-performance/main` as the **content root**. 3. Setup the Python Interpreter. A virtual environment is suggested. 4. Run the following command to install the required packages. ``` pip3 install -r requirements.txt ``` 5. Put the spreadsheet data (eg. `Eduardo Oliveira.csv`) in the `data` directory. 6. Put the folder (eg. `fit_eduardo_oliveira`) contains `.fit` files in the `data` directory. **Optional:** What's more, our system supports you to simply convert `.fit` files in a separate module. Similarly, put the folder contains `.fit` files in the `data` directory, for example athlete `fit_eduardo_oliveira`, `fit_xu_chen` and `fit_carly_hart`, in your Terminal go to the `main` directory, and run the following commands. Folders contains converted .csv files will show up in `data` directory. ``` python3 fit_file_convert/process_all.py --subject-dir=../data --subject-name=csv_eduardo_oliveira --fit-source=../data/fit_eduardo_oliveira python3 fit_file_convert/process_all.py --subject-dir=../data --subject-name=csv_xu_chen --fit-source=../data/fit_xu_chen python3 fit_file_convert/process_all.py --subject-dir=../data --subject-name=csv_carly_hart --fit-source=../data/fit_carly_hart ``` ### How to Run Our System #### User's Option Open the system built-in command-line tools or Terminal in a Python IDE, you can go to the main folder of the project, and run the following command. ``` python main.py --athletes-names xu_chen eduardo_oliveira --initialize-system=False --generate-pmc=True ``` The example above means you don't want to initialize the system (say it's your second time running this system), but you do want to generate the Performance Management Charts for Xu Chen and Eduardo Oliveira (say you have updated the fit files). Please refer to [Additional Help](#additional-help) for more options. #### Developer's Option For the developers who will work further based on this system, we recommend changing options in `main.py` for tests, and here's an overview. ```Python if __name__ == '__main__': athletes_names = ['eduardo_oliveira', 'xu_chen', 'carly_hart'] internal_args = ['--athletes-names={}'.format(' '.join(athletes_names)), '--initialize-system=False', '--clean-data=False', '--process-feature-engineering=False', '--build-model=False', '--generate-pmc=True'] main(internal_args) ``` ### System Sketch Map and Output Preview