- Python 3.9
-
Install Python 3.9
-
CD into the project directory
cd training-plan-generator
-
Install virtualenv
pip install virtualenv
-
Create a virtual environment
python -m venv venv
-
Activate the virtual environment
./venv/Script/activate
-
Install dependencies
pip install -r requirements.txt
-
Run the app
python src/main.py
If you would like to test the app manually, you can disable the GUI by setting GUI_ENABLED
to False
in src/main.py
, then
modify the start and end dates as required.
I have made the following assumptions:
- The start date is flexible, but the race date is fixed.
- Therefore, the start date will be modified to make the period divisible by 7.
The project follows MVC pattern. The model is in src/model
, the view is in src/view
, and the controller is in src/main.py
.
The data flows only from the controller to the view. The view is not allowed to modify the data. The view is only allowed to display the data.
The model receives the data from the controller and processes it.
src\
view\
__init__.py
view.py
model\
__init__.py
plan.py
week.py
main.py
You can find my notes and thought process in my_notes.md
.