This project is a Knee Surgery Recovery Tracker application built using Python and ttkbootstrap for the GUI. The application helps users log and monitor their recovery process, set reminders, and visualize progress.
- Log Recovery Data:
- Input and store recovery data: pain level (0-10), therapy details, and mobility range (0-10).
- Set Reminders:
- Schedule reminders with a date, time, and custom message.
- View Logs and Reminders:
- Display recovery logs and reminders in a tabular format.
- Visualize Trends:
- Plot pain and mobility trends using
matplotlib.
- Plot pain and mobility trends using
- Export and Import Logs:
- Export logs to a CSV file or import logs from a CSV file.
-
Clone this repository:
git clone https://github.com/BJ-dev0706/KneeVitals.git cd KneeVitals -
Install dependencies:
pip install ttkbootstrap matplotlib
-
Run the application:
python main.py
-
Install
pyinstaller:pip install pyinstaller
-
Create the .exe file:
pyinstaller --onefile --noconsole main.py
- The
--onefileflag creates a single executable file. - The
--noconsoleflag suppresses the console window.
- The
-
Locate the
.exefile:- The executable will be in the
distfolder.
- The executable will be in the
- Navigate to the
distfolder:cd dist - Run the
.exefile:./main.exe
- Share the
.exefile from thedistfolder to allow others to use the application without installing Python or dependencies.
- Log Recovery:
- Pain Level: Numeric (0-10)
- Mobility Range: Numeric (0-10)
- Therapy Details: Free text
- Set Reminder:
- Date: Select from calendar.
- Time: Input in
HH:MMformat. - Message: Free text.
A sample database (knee_recovery.db) is included for testing, containing sample recovery logs and reminders.
-
Recovery Logs (
recovery_logstable):id: Auto-incrementing IDdate: Timestamp of the logpain_level: Numeric value (0-10)therapy_details: Textmobility_range: Numeric value (0-10)
-
Reminders (
reminderstable):id: Auto-incrementing IDdate: Date of the remindertime: Time of the remindermessage: Reminder message
Feel free to contribute to this project by submitting issues or pull requests.
This project is licensed under the MIT License.


