Commit Graph

148 Commits

Author SHA1 Message Date
William Valentin
40376a9cfc Add comprehensive tests for error handling, input validation, search filtering, and UI components
Some checks failed
Build and Push Docker Image / build-and-push (push) Has been cancelled
- Implemented unit tests for the ErrorHandler class, covering error handling, frequency tracking, and performance warnings.
- Created integration tests for input validation, error handling, auto-save functionality, and search/filter systems.
- Developed unit tests for the DataFilter, QuickFilters, and SearchHistory classes to ensure filtering logic works as expected.
- Added tests for the SearchFilterWidget UI component, verifying initialization, filter functionality, and responsiveness.
- Included edge case tests for error handling without UI manager and handling of None values.
v1.13.6
2025-08-06 10:58:55 -07:00
William Valentin
422617eb6c feat: Update documentation structure and content
- Added a link to the Recent Improvements section in the README.md for better visibility of new features.
- Removed the SEARCH_FILTER_FIX.md file as its content has been integrated into other documentation.
- Deleted the consolidate_docs.py script as its functionality is no longer needed after the documentation consolidation.
- Removed the outdated CHANGELOG.md file and replaced it with a new structure that consolidates all changelog information.
- Created a new DOCUMENTATION_INDEX.md file to provide a comprehensive guide to the documentation structure.
- Updated the docs/README.md to reflect the new documentation organization and included links to preserved legacy documentation.
2025-08-06 10:58:25 -07:00
William Valentin
0bfbdfe979 feat: Add AI coding guidelines and project overview to documentation 2025-08-06 09:56:06 -07:00
William Valentin
7bb06fabdd feat: Implement search and filter functionality in MedTrackerApp
- Added DataFilter class for managing filtering and searching of medical data.
- Introduced SearchFilterWidget for UI controls related to search and filters.
- Integrated search and filter features into MedTrackerApp, allowing users to filter data by date range, medicine status, and pathology scores.
- Implemented quick filters for common use cases (last week, last month, high symptoms).
- Enhanced data loading and display logic to accommodate filtered data.
- Added error handling for data loading issues.
- Updated UIManager to reflect filter status in the application.
- Improved entry validation in add_new_entry method to ensure data integrity.
2025-08-06 09:55:47 -07:00
William Valentin
780d44775d chore: cleanup 2025-08-06 09:49:57 -07:00
William Valentin
5a375e0d21 feat: consolidate test structure and enhance header visibility across themes 2025-08-05 15:48:15 -07:00
William Valentin
a521ed6e9a Add quick test runner and enhance run_tests script
Some checks failed
Build and Push Docker Image / build-and-push (push) Has been cancelled
- Introduced `quick_test.py` for running specific test categories (unit, integration, theme, all).
- Updated `run_tests.py` to improve test execution and reporting, including coverage.
- Removed outdated test scripts for keyboard shortcuts, menu theming, note saving, and entry updating.
- Added new test script `test_theme_changing.py` to verify theme changing functionality.
- Consolidated integration tests into `test_integration.py` for comprehensive testing of TheChart application.
- Updated theme manager to ensure color retrieval works correctly.
- Modified test constants to import from the correct module path.
v1.12.6
2025-08-05 15:09:13 -07:00
William Valentin
df9738ab17 feat: enhance menu theming with comprehensive documentation and testing support
Some checks failed
Build and Push Docker Image / build-and-push (push) Has been cancelled
v1.12.5
2025-08-05 14:06:42 -07:00
William Valentin
c3c88c63d2 Add theme management and settings functionality
Some checks failed
Build and Push Docker Image / build-and-push (push) Has been cancelled
- Introduced `ThemeManager` to handle application themes using `ttkthemes`.
- Added `SettingsWindow` for user preferences including theme selection and UI settings.
- Integrated theme selection into the main application with a menu for quick access.
- Enhanced UI components with custom styles based on the selected theme.
- Implemented tooltips for better user guidance across various UI elements.
- Updated dependencies to include `ttkthemes` for improved visual appeal.
v1.11.5
2025-08-05 11:58:25 -07:00
William Valentin
86606d56b6 feat: add comprehensive keyboard shortcuts for improved navigation and productivity
Some checks failed
Build and Push Docker Image / build-and-push (push) Has been cancelled
v1.10.5
2025-08-05 10:05:32 -07:00
William Valentin
9790f2730a feat: update version to 1.9.5 in Makefile and pyproject.toml
Some checks failed
Build and Push Docker Image / build-and-push (push) Has been cancelled
v1.9.5
2025-08-02 10:35:44 -07:00
William Valentin
fdcc210fc4 feat: add status bar to UI for improved user feedback and information display 2025-08-02 10:31:17 -07:00
William Valentin
b7a22524d7 Feat: add export functionality with GUI for data and graphs
Some checks failed
Build and Push Docker Image / build-and-push (push) Has been cancelled
- Implemented ExportWindow class for exporting data and graphs in various formats (JSON, XML, PDF).
- Integrated ExportManager to handle export logic.
- Added export option in the main application menu.
- Enhanced user interface with data summary and export options.
- Included error handling and success messages for export operations.
- Updated dependencies in the lock file to include reportlab and lxml for PDF generation.
v1.8.5
2025-08-02 10:00:24 -07:00
William Valentin
156dcd1651 feat: Import LOG_CLEAR constant for logging clarity 2025-08-01 15:15:04 -07:00
William Valentin
1d310dd081 feat: Update version to 1.7.5 in Makefile, docker-build.sh, and pyproject.toml
Some checks failed
Build and Push Docker Image / build-and-push (push) Has been cancelled
v1.7.5
2025-08-01 14:45:58 -07:00
William Valentin
abd1fa33cf refactor: Simplify UI creation methods by removing dynamic variants and consolidating functionality 2025-08-01 14:41:58 -07:00
William Valentin
03ef9e761a feat: Update version to 1.7.4 in Makefile, docker-build.sh, and pyproject.toml
Some checks failed
Build and Push Docker Image / build-and-push (push) Has been cancelled
v1.7.4
2025-08-01 14:12:06 -07:00
William Valentin
ca1f8c976d fix: notes are saved again
feat: Add test scripts for note saving and updating functionality
2025-08-01 14:09:29 -07:00
William Valentin
7392709a27 feat: Uncomment .vscode directory in .gitignore to include IDE settings 2025-08-01 13:25:47 -07:00
William Valentin
623050478a feat: Update version to 1.7.3 in Makefile, docker-build.sh, and pyproject.toml 2025-08-01 13:21:48 -07:00
William Valentin
41d91d9c30 feat: Center main window on screen during initialization
Some checks failed
Build and Push Docker Image / build-and-push (push) Has been cancelled
v1.7.3
2025-08-01 13:05:24 -07:00
William Valentin
14d9943665 feat: Update medicine toggles to be unchecked by default for improved user experience
Some checks failed
Build and Push Docker Image / build-and-push (push) Has been cancelled
v1.7.2
2025-08-01 12:53:19 -07:00
William Valentin
13a4826415 feat: Enhance DataManager and GraphManager with performance optimizations and caching 2025-08-01 12:46:51 -07:00
William Valentin
949e43ac6c feat: Bump version to 1.6.1 in Makefile, pyproject.toml, and CHANGELOG.md
Some checks failed
Build and Push Docker Image / build-and-push (push) Has been cancelled
v1.6.1 v1.6.2
2025-07-31 11:42:13 -07:00
William Valentin
33d7ae8d9f feat: Remove outdated testing documentation and add comprehensive development and feature guides
- Deleted `TESTING_SETUP.md` and `TEST_UPDATES_SUMMARY.md` as they were outdated.
- Introduced `CHANGELOG.md` to document notable changes and version history.
- Added `DEVELOPMENT.md` for detailed development setup, testing framework, and debugging guidance.
- Created `FEATURES.md` to outline core features and functionalities of TheChart.
- Established `README.md` as a centralized documentation index for users and developers.
2025-07-31 11:39:12 -07:00
William Valentin
e5e654a0b3 fix: Correct shell activation command in Makefile for proper environment setup
Some checks failed
Build and Push Docker Image / build-and-push (push) Has been cancelled
v1.6.0
2025-07-31 11:20:18 -07:00
William Valentin
00443a540f chore: Remove obsolete test scripts and unused methods from the data manager
- Deleted test scripts for dose tracking, UI functionality, dynamic data, edit functionality, and final workflow.
- Removed the `add_medicine_dose` method from the DataManager class as it is no longer needed.
2025-07-31 11:11:21 -07:00
William Valentin
59251ced31 chore: moved tests scripts 2025-07-31 10:18:09 -07:00
William Valentin
9471b91f4c feat: Update default_enabled states for bupropion and propranolol to false 2025-07-31 10:06:25 -07:00
William Valentin
c755f0affc Add comprehensive tests for dose tracking functionality
- Implemented `test_dose_parsing_simple.py` to validate the dose parsing workflow.
- Created `test_dose_save.py` to verify the saving functionality of dose tracking.
- Added `test_dose_save_simple.py` for programmatic testing of dose saving without UI interaction.
- Developed `test_final_workflow.py` to test the complete dose tracking workflow, ensuring doses are preserved during edits.
- Enhanced `conftest.py` with a mock pathology manager for testing.
- Updated `test_data_manager.py` to include pathology manager in DataManager tests and ensure compatibility with new features.
2025-07-31 09:50:45 -07:00
William Valentin
b8600ae57a feat: Remove unused imports from test files for cleaner code 2025-07-30 16:02:26 -07:00
William Valentin
d7d4b332d4 Add medicine management functionality with UI and data handling
- Implemented MedicineManagementWindow for adding, editing, and removing medicines.
- Created MedicineManager to handle medicine configurations, including loading and saving to JSON.
- Updated UIManager to dynamically generate medicine-related UI components based on the MedicineManager.
- Enhanced test suite with mock objects for MedicineManager to ensure proper functionality in DataManager tests.
- Added validation for medicine input fields in the UI.
- Introduced default medicine configurations for initial setup.
2025-07-30 16:01:02 -07:00
William Valentin
ea30cb88c9 feat: Update default toggle states for bupropion and propranolol to false 2025-07-30 14:46:25 -07:00
William Valentin
b76191d66d feat: Implement dose calculation fix and enhance legend feature
Some checks failed
Build and Push Docker Image / build-and-push (push) Has been cancelled
- Fixed dose calculation logic in `_calculate_daily_dose` to correctly parse timestamps with multiple colons.
- Added comprehensive test cases for various dose formats and edge cases in `test_dose_calculation.py`.
- Enhanced graph legend to display individual medicines with average dosages and track medicines without dose data.
- Updated legend styling and positioning for better readability and organization.
- Created new tests for enhanced legend functionality, including handling of medicines with and without data.
- Improved mocking for matplotlib components in tests to prevent TypeErrors.
v1.5.0
2025-07-30 14:22:07 -07:00
William Valentin
d14d19e7d9 feat: add medicine dose graph plotting and toggle functionality with comprehensive tests
Some checks failed
Build and Push Docker Image / build-and-push (push) Has been cancelled
v1.4.0
2025-07-30 13:18:25 -07:00
William Valentin
0a8d27957f feat: enhance symptom scale creation with improved layout and dynamic value display 2025-07-30 12:41:25 -07:00
William Valentin
7e04aebd5d feat: update version to 1.3.4 in pyproject.toml and uv.lock 2025-07-30 12:35:07 -07:00
William Valentin
b7c01bc373 Refactor method names for clarity and consistency across the application
Some checks failed
Build and Push Docker Image / build-and-push (push) Has been cancelled
- Renamed `initialize_csv` to `_initialize_csv_file` in `DataManager` for better clarity.
- Updated method calls in `GraphManager` from `_create_toggle_controls` to `_create_chart_toggles` and `_on_toggle_changed` to `_handle_toggle_changed`.
- Changed method names in `MedTrackerApp` from `on_closing` to `handle_window_closing`, `add_entry` to `add_new_entry`, and `load_data` to `refresh_data_display`.
- Adjusted corresponding test method names in `TestMedTrackerApp` to reflect the new method names.
- Updated `UIManager` method names from `setup_icon` to `setup_application_icon` and adjusted related tests accordingly.
v1.3.4
2025-07-30 12:32:17 -07:00
William Valentin
e0faf20a56 feat: Remove obsolete CSV migration target from Makefile 2025-07-30 11:31:34 -07:00
William Valentin
7380d9a8a9 feat: Add logging directory and initialize app log file in Dockerfile 2025-07-30 11:21:44 -07:00
William Valentin
85e30671d4 feat: Enhance dose history parsing and add unit tests for improved functionality
Some checks failed
Build and Push Docker Image / build-and-push (push) Has been cancelled
v1.3.3
2025-07-30 10:02:17 -07:00
William Valentin
b259837af4 feat: Add test script for mouse wheel scrolling functionality in entry and edit windows
Some checks failed
Build and Push Docker Image / build-and-push (push) Has been cancelled
v1.3.2
2025-07-29 17:44:14 -07:00
William Valentin
aad02f0d36 feat: Improve canvas scrolling functionality with enhanced mouse wheel event handling 2025-07-29 17:42:38 -07:00
William Valentin
30750710b8 feat: Enhance edit window UI with improved layout and scrolling functionality 2025-07-29 17:28:52 -07:00
William Valentin
fd1f9a43c6 feat: Add release notes generation and Docker image information to build workflow 2025-07-29 17:09:57 -07:00
William Valentin
21dd1fc9c8 refactor: Update import statements to include 'src' prefix for module paths
Some checks failed
Build and Push Docker Image / build-and-push (push) Has been cancelled
v1.2.2
2025-07-29 16:52:46 -07:00
William Valentin
5243352867 refactor: Remove coverage.xml file to streamline project structure 2025-07-29 16:41:40 -07:00
William Valentin
387981aa47 refactor: Remove __init__.py file and associated metadata 2025-07-29 16:41:29 -07:00
William Valentin
13b2c9c416 fix: Correct dotenv loading to use dynamic directory based on execution context 2025-07-29 16:38:21 -07:00
William Valentin
4c04bfb92e feat: Add debug logging to PyInstaller deployment process 2025-07-29 16:36:04 -07:00