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.
This commit is contained in:
@@ -1,269 +0,0 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to TheChart project are documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [1.9.5] - 2025-08-05
|
||||
|
||||
### 🎨 Major UI/UX Overhaul
|
||||
- **Added**: Professional theme system with ttkthemes integration
|
||||
- **Added**: 8 curated themes (Arc, Equilux, Adapta, Yaru, Ubuntu, Plastik, Breeze, Elegance)
|
||||
- **Added**: Dynamic theme switching without restart
|
||||
- **Added**: Theme persistence between sessions
|
||||
- **Added**: Comprehensive settings window with tabbed interface
|
||||
- **Added**: Smart tooltip system with context-sensitive help
|
||||
- **Improved**: Table selection highlighting and alternating row colors
|
||||
- **Improved**: Modern styling for all UI components (buttons, frames, forms)
|
||||
- **Improved**: Professional card-style layouts and enhanced spacing
|
||||
|
||||
### ⚙️ Settings and Configuration System
|
||||
- **Added**: Advanced settings window (accessible via F2)
|
||||
- **Added**: Theme selection with live preview
|
||||
- **Added**: UI preferences and customization options
|
||||
- **Added**: About dialog with detailed application information
|
||||
- **Added**: Settings persistence across application restarts
|
||||
|
||||
### 💡 Enhanced User Experience
|
||||
- **Added**: Intelligent tooltips for all interactive elements
|
||||
- **Added**: Specialized help for pathology scales and medicine options
|
||||
- **Added**: Non-intrusive tooltip timing (500-800ms delay)
|
||||
- **Added**: Quick theme switching via menu bar
|
||||
- **Improved**: Visual hierarchy with better typography and spacing
|
||||
- **Improved**: Professional color schemes across all themes
|
||||
|
||||
### 🏗️ Technical Architecture Improvements
|
||||
- **Added**: Modular theme manager with dependency injection
|
||||
- **Added**: Tooltip management system
|
||||
- **Added**: Enhanced UI manager with theme integration
|
||||
- **Improved**: Code organization with separate concerns
|
||||
- **Improved**: Error handling with graceful theme fallbacks
|
||||
|
||||
## [1.7.0] - 2025-08-05
|
||||
|
||||
### ⌨️ Keyboard Shortcuts System
|
||||
- **Added**: Comprehensive keyboard shortcuts for improved productivity
|
||||
- **Added**: File operations shortcuts (Ctrl+S, Ctrl+Q, Ctrl+E)
|
||||
- **Added**: Data management shortcuts (Ctrl+N, Ctrl+R, F5)
|
||||
- **Added**: Window management shortcuts (Ctrl+M, Ctrl+P)
|
||||
- **Added**: Table operation shortcuts (Delete, Escape)
|
||||
- **Added**: Help system shortcut (F1)
|
||||
- **Added**: Menu integration showing shortcuts next to menu items
|
||||
- **Added**: Button labels updated to show primary shortcuts
|
||||
- **Added**: In-app help dialog accessible via F1
|
||||
- **Added**: Status bar feedback for all keyboard operations
|
||||
- **Improved**: Button text shows shortcuts (e.g., "Add Entry (Ctrl+S)")
|
||||
- **Improved**: Case-insensitive shortcuts (Ctrl+S and Ctrl+Shift+S both work)
|
||||
|
||||
#### Keyboard Shortcuts Added:
|
||||
- **Ctrl+S**: Save/Add new entry
|
||||
- **Ctrl+Q**: Quit application (with confirmation)
|
||||
- **Ctrl+E**: Export data
|
||||
- **Ctrl+N**: Clear entries
|
||||
- **Ctrl+R / F5**: Refresh data
|
||||
- **Ctrl+M**: Manage medicines
|
||||
- **Ctrl+P**: Manage pathologies
|
||||
- **Delete**: Delete selected entry (with confirmation)
|
||||
- **Escape**: Clear selection
|
||||
- **F1**: Show keyboard shortcuts help
|
||||
|
||||
### 📚 Documentation Updates
|
||||
- **Updated**: FEATURES.md with keyboard shortcuts section
|
||||
- **Added**: KEYBOARD_SHORTCUTS.md with comprehensive shortcut reference
|
||||
- **Updated**: In-app help system with shortcut information
|
||||
- **Updated**: About dialog with keyboard shortcut mention
|
||||
|
||||
## [1.6.1] - 2025-07-31
|
||||
|
||||
### 📚 Documentation Overhaul
|
||||
- **BREAKING**: Consolidated scattered documentation into organized structure
|
||||
- **Added**: Comprehensive `docs/FEATURES.md` with complete feature documentation
|
||||
- **Added**: Detailed `docs/DEVELOPMENT.md` with testing and development guide
|
||||
- **Updated**: Streamlined `README.md` with quick-start focus and navigation
|
||||
- **Removed**: 10 redundant/outdated markdown files
|
||||
- **Improved**: Clear separation between user and developer documentation
|
||||
|
||||
### 🏗️ Documentation Structure
|
||||
```
|
||||
docs/
|
||||
├── FEATURES.md # Complete feature guide (new)
|
||||
├── DEVELOPMENT.md # Development & testing guide (new)
|
||||
└── CHANGELOG.md # This changelog (new)
|
||||
|
||||
README.md # Streamlined quick-start guide (updated)
|
||||
```
|
||||
|
||||
## [1.3.3] - Previous Releases
|
||||
|
||||
### 🏥 Modular Medicine System
|
||||
- **Added**: Dynamic medicine management system
|
||||
- **Added**: JSON-based medicine configuration (`medicines.json`)
|
||||
- **Added**: Medicine management UI (`Tools` → `Manage Medicines...`)
|
||||
- **Added**: Configurable medicine properties (colors, doses, names)
|
||||
- **Added**: Automatic UI updates when medicines change
|
||||
- **Added**: Backward compatibility with existing data
|
||||
|
||||
### 💊 Advanced Dose Tracking System
|
||||
- **Added**: Precise timestamp recording for medicine doses
|
||||
- **Added**: Multiple daily dose support for same medicine
|
||||
- **Added**: Comprehensive dose tracking interface in edit windows
|
||||
- **Added**: Quick-dose buttons for common amounts
|
||||
- **Added**: Real-time dose display and feedback
|
||||
- **Added**: Historical dose data persistence in CSV
|
||||
- **Improved**: Dose format parsing with robust error handling
|
||||
|
||||
#### Punch Button Redesign
|
||||
- **Moved**: Dose tracking from main input to edit window
|
||||
- **Added**: Individual dose entry fields per medicine
|
||||
- **Added**: "Take [Medicine]" buttons with immediate recording
|
||||
- **Added**: Editable dose display areas with history
|
||||
- **Improved**: User experience with centralized dose management
|
||||
|
||||
### 📊 Enhanced Graph Visualization
|
||||
- **Added**: Medicine dose bar charts with distinct colors
|
||||
- **Added**: Interactive toggle controls for symptoms and medicines
|
||||
- **Added**: Enhanced legend with multi-column layout
|
||||
- **Added**: Average dosage calculations and displays
|
||||
- **Added**: Professional styling with transparency and shadows
|
||||
- **Improved**: Graph layout with dynamic positioning
|
||||
|
||||
#### Medicine Dose Plotting
|
||||
- **Added**: Visual representation of daily medication intake
|
||||
- **Added**: Scaled dose display (mg/10) for chart compatibility
|
||||
- **Added**: Color-coded bars for each medicine
|
||||
- **Added**: Semi-transparent rendering to preserve symptom visibility
|
||||
- **Fixed**: Dose calculation logic for complex timestamp formats
|
||||
|
||||
#### Legend Enhancements
|
||||
- **Added**: Multi-column legend layout (2 columns)
|
||||
- **Added**: Average dosage information per medicine
|
||||
- **Added**: Tracking status for medicines without current doses
|
||||
- **Added**: Frame, shadow, and transparency effects
|
||||
- **Improved**: Space utilization and readability
|
||||
|
||||
### 🧪 Comprehensive Testing Framework
|
||||
- **Added**: Professional testing infrastructure with pytest
|
||||
- **Added**: 93% code coverage across 112 tests
|
||||
- **Added**: Coverage reporting (HTML, XML, terminal)
|
||||
- **Added**: Pre-commit testing hooks
|
||||
- **Added**: Comprehensive dose calculation testing
|
||||
- **Added**: UI component testing with mocking
|
||||
- **Added**: Medicine plotting and legend testing
|
||||
|
||||
#### Test Infrastructure
|
||||
- **Added**: `tests/conftest.py` with shared fixtures
|
||||
- **Added**: Sample data generators for realistic testing
|
||||
- **Added**: Mock loggers and temporary file management
|
||||
- **Added**: Environment variable mocking
|
||||
|
||||
#### Pre-commit Testing
|
||||
- **Added**: Automated testing before commits
|
||||
- **Added**: Core functionality validation (3 essential tests)
|
||||
- **Added**: Commit blocking on test failures
|
||||
- **Configured**: `.pre-commit-config.yaml` with testing hooks
|
||||
|
||||
### 🏗️ Technical Architecture Improvements
|
||||
- **Added**: Modular component architecture
|
||||
- **Added**: MedicineManager and PathologyManager classes
|
||||
- **Added**: Dynamic UI generation based on configuration
|
||||
- **Improved**: Separation of concerns across modules
|
||||
- **Enhanced**: Error handling and logging throughout
|
||||
|
||||
### 📈 Data Management Enhancements
|
||||
- **Added**: Automatic data migration and backup system
|
||||
- **Added**: Dynamic CSV column management
|
||||
- **Added**: Robust dose string parsing
|
||||
- **Improved**: Data validation and error handling
|
||||
- **Enhanced**: Backward compatibility preservation
|
||||
|
||||
### 🔧 Development Tools & Workflow
|
||||
- **Added**: uv integration for fast package management
|
||||
- **Added**: Comprehensive Makefile with development commands
|
||||
- **Added**: Docker support with multi-platform builds
|
||||
- **Added**: Pre-commit hooks for code quality
|
||||
- **Added**: Ruff for fast Python formatting and linting
|
||||
- **Improved**: Virtual environment management
|
||||
|
||||
### 🚀 Deployment & Distribution
|
||||
- **Added**: PyInstaller integration for standalone executables
|
||||
- **Added**: Linux desktop integration
|
||||
- **Added**: Automatic file installation and desktop entries
|
||||
- **Added**: Docker containerization support
|
||||
- **Improved**: Build and deployment automation
|
||||
|
||||
## Technical Details
|
||||
|
||||
### Dependencies
|
||||
- **Runtime**: Python 3.13+, matplotlib, pandas, tkinter, colorlog
|
||||
- **Development**: pytest, pytest-cov, ruff, pre-commit, pyinstaller
|
||||
- **Package Management**: uv (Rust-based, 10-100x faster than pip/Poetry)
|
||||
|
||||
### Architecture
|
||||
- **Frontend**: Tkinter-based GUI with dynamic component generation
|
||||
- **Backend**: Pandas for data manipulation, Matplotlib for visualization
|
||||
- **Storage**: CSV-based with JSON configuration files
|
||||
- **Testing**: pytest with comprehensive mocking and coverage
|
||||
|
||||
### File Structure
|
||||
```
|
||||
src/ # Main application code
|
||||
├── main.py # Application entry point
|
||||
├── ui_manager.py # User interface management
|
||||
├── data_manager.py # CSV operations and data persistence
|
||||
├── graph_manager.py # Visualization and plotting
|
||||
├── medicine_manager.py # Medicine system management
|
||||
└── pathology_manager.py # Symptom tracking
|
||||
|
||||
tests/ # Comprehensive test suite (112 tests, 93% coverage)
|
||||
docs/ # Organized documentation
|
||||
├── FEATURES.md # Complete feature documentation
|
||||
├── DEVELOPMENT.md # Development and testing guide
|
||||
└── CHANGELOG.md # This changelog
|
||||
|
||||
Configuration Files:
|
||||
├── medicines.json # Medicine definitions (auto-generated)
|
||||
├── pathologies.json # Symptom categories (auto-generated)
|
||||
├── pyproject.toml # Project configuration
|
||||
└── uv.lock # Dependency lock file
|
||||
```
|
||||
|
||||
## Migration Notes
|
||||
|
||||
### From Previous Versions
|
||||
- **Data Compatibility**: All existing CSV data continues to work
|
||||
- **Automatic Migration**: Data structure updates handled automatically
|
||||
- **Backup Creation**: Automatic backups before major changes
|
||||
- **No Data Loss**: Existing functionality preserved during updates
|
||||
|
||||
### Configuration Migration
|
||||
- **Medicine System**: Hard-coded medicines converted to JSON configuration
|
||||
- **UI Updates**: Interface automatically adapts to new medicine definitions
|
||||
- **Graph Integration**: Visualization system updated for dynamic medicines
|
||||
|
||||
## Future Roadmap
|
||||
|
||||
### Planned Features (v2.0)
|
||||
- **Mobile App**: Companion mobile application for dose tracking
|
||||
- **Cloud Sync**: Multi-device data synchronization
|
||||
- **Advanced Analytics**: Machine learning-based trend analysis
|
||||
- **Reminder System**: Intelligent medication reminders
|
||||
- **Doctor Integration**: Healthcare provider report generation
|
||||
|
||||
### Platform Expansion
|
||||
- **macOS Support**: Native macOS application
|
||||
- **Windows Support**: Windows executable and installer
|
||||
- **Web Interface**: Browser-based version for universal access
|
||||
|
||||
### API Development
|
||||
- **REST API**: External system integration
|
||||
- **Plugin Architecture**: Third-party extension support
|
||||
- **Data Export**: Multiple format support (JSON, XML, etc.)
|
||||
|
||||
---
|
||||
|
||||
## Contributing
|
||||
|
||||
This project follows semantic versioning and maintains comprehensive documentation.
|
||||
For development guidelines, see [docs/DEVELOPMENT.md](docs/DEVELOPMENT.md).
|
||||
For feature information, see [docs/FEATURES.md](docs/FEATURES.md).
|
||||
78
docs/DOCUMENTATION_INDEX.md
Normal file
78
docs/DOCUMENTATION_INDEX.md
Normal file
@@ -0,0 +1,78 @@
|
||||
# TheChart Documentation Index
|
||||
|
||||
## 📚 Complete Documentation Guide
|
||||
|
||||
### 🚀 Quick Navigation
|
||||
|
||||
#### Essential Documents
|
||||
- **[README.md](../README.md)** - Project overview and quick start guide
|
||||
- **[USER_GUIDE.md](../USER_GUIDE.md)** - Complete user manual with features and shortcuts
|
||||
- **[DEVELOPER_GUIDE.md](../DEVELOPER_GUIDE.md)** - Development setup, testing, and architecture
|
||||
- **[API_REFERENCE.md](../API_REFERENCE.md)** - Technical documentation and system APIs
|
||||
|
||||
#### Project History
|
||||
- **[CHANGELOG.md](../CHANGELOG.md)** - Version history and release notes
|
||||
- **[IMPROVEMENTS_SUMMARY.md](../IMPROVEMENTS_SUMMARY.md)** - Recent enhancements and new features
|
||||
|
||||
### 📖 Documentation Organization
|
||||
|
||||
This project uses a **consolidated documentation structure** to avoid redundancy and improve maintainability:
|
||||
|
||||
#### Root Level Documents (Primary)
|
||||
All main documentation is located in the project root for easy access:
|
||||
|
||||
- **README.md** - Entry point for all users
|
||||
- **USER_GUIDE.md** - Comprehensive user documentation
|
||||
- **DEVELOPER_GUIDE.md** - Complete development guide
|
||||
- **API_REFERENCE.md** - Technical reference documentation
|
||||
- **CHANGELOG.md** - Version history
|
||||
- **IMPROVEMENTS_SUMMARY.md** - Latest feature summary
|
||||
|
||||
#### docs/ Folder (Reference)
|
||||
The docs/ folder contains:
|
||||
- Legacy documentation files (preserved for reference)
|
||||
- Specialized topic documentation
|
||||
- This documentation index
|
||||
|
||||
### 🔍 Find What You Need
|
||||
|
||||
#### New Users
|
||||
Start with: **[USER_GUIDE.md](../USER_GUIDE.md)**
|
||||
- Application features
|
||||
- Getting started guide
|
||||
- Keyboard shortcuts
|
||||
- UI customization
|
||||
|
||||
#### Developers
|
||||
Start with: **[DEVELOPER_GUIDE.md](../DEVELOPER_GUIDE.md)**
|
||||
- Environment setup
|
||||
- Testing procedures
|
||||
- Architecture overview
|
||||
- Contributing guidelines
|
||||
|
||||
#### System Administrators
|
||||
Check: **[API_REFERENCE.md](../API_REFERENCE.md)**
|
||||
- Export system details
|
||||
- Configuration options
|
||||
- Technical specifications
|
||||
- Integration information
|
||||
|
||||
### 🏗️ Documentation Standards
|
||||
|
||||
All documentation follows these principles:
|
||||
- **Single Source of Truth**: No duplicate content across files
|
||||
- **Clear Navigation**: Easy cross-references and linking
|
||||
- **Up-to-date**: Regular updates with code changes
|
||||
- **User-focused**: Organized by user needs, not technical structure
|
||||
|
||||
### 📝 Contributing to Documentation
|
||||
|
||||
When updating documentation:
|
||||
1. Edit the appropriate root-level file
|
||||
2. Update cross-references if needed
|
||||
3. Test all links for accuracy
|
||||
4. Follow the established format and style
|
||||
|
||||
---
|
||||
|
||||
*Last updated: August 6, 2025*
|
||||
@@ -30,24 +30,30 @@ This documentation has been **consolidated and reorganized** for better navigati
|
||||
#### Project Information
|
||||
- **[Main README](../README.md)** - Project overview and quick start
|
||||
- **[Changelog](../CHANGELOG.md)** - Version history and release notes
|
||||
- **[Recent Improvements](../IMPROVEMENTS_SUMMARY.md)** - Latest enhancements and new features
|
||||
|
||||
### 📁 Legacy Documentation (Preserved)
|
||||
## <20>️ Legacy Reference Files
|
||||
|
||||
The following files are preserved for reference but content has been consolidated:
|
||||
The following specialized documentation files are preserved in the docs/ folder:
|
||||
|
||||
#### Original Structure
|
||||
- `FEATURES.md` → Content moved to `USER_GUIDE.md`
|
||||
- `KEYBOARD_SHORTCUTS.md` → Content moved to `USER_GUIDE.md`
|
||||
- `DEVELOPMENT.md` → Content moved to `DEVELOPER_GUIDE.md`
|
||||
- `TESTING.md` → Content moved to `DEVELOPER_GUIDE.md`
|
||||
- `EXPORT_SYSTEM.md` → Content moved to `API_REFERENCE.md`
|
||||
- `MENU_THEMING.md` → Content moved to `API_REFERENCE.md`
|
||||
### Feature Documentation
|
||||
- **[FEATURES.md](FEATURES.md)** - Original feature documentation (consolidated into USER_GUIDE.md)
|
||||
- **[KEYBOARD_SHORTCUTS.md](KEYBOARD_SHORTCUTS.md)** - Original shortcuts reference (consolidated into USER_GUIDE.md)
|
||||
- **[EXPORT_SYSTEM.md](EXPORT_SYSTEM.md)** - Original export documentation (consolidated into API_REFERENCE.md)
|
||||
- **[MENU_THEMING.md](MENU_THEMING.md)** - Original theming documentation (consolidated into API_REFERENCE.md)
|
||||
|
||||
#### Migration Benefits
|
||||
1. **Reduced Redundancy**: Eliminated duplicate content across multiple files
|
||||
2. **Better Organization**: Logical grouping by user type and purpose
|
||||
3. **Easier Navigation**: Clear entry points for different audiences
|
||||
4. **Comprehensive Coverage**: All information preserved and enhanced
|
||||
### Development Documentation
|
||||
- **[DEVELOPMENT.md](DEVELOPMENT.md)** - Original development guide (consolidated into DEVELOPER_GUIDE.md)
|
||||
- **[TESTING.md](TESTING.md)** - Original testing documentation (consolidated into DEVELOPER_GUIDE.md)
|
||||
|
||||
### System Documentation
|
||||
- **[DOCUMENTATION_SUMMARY.md](DOCUMENTATION_SUMMARY.md)** - Documentation organization summary
|
||||
|
||||
> **Note**: These files are preserved for reference but their content has been consolidated into the main documentation files for better organization and reduced redundancy.
|
||||
|
||||
---
|
||||
|
||||
**📖 For complete documentation navigation, see: [DOCUMENTATION_INDEX.md](DOCUMENTATION_INDEX.md)**
|
||||
5. **Maintainability**: Fewer files to keep synchronized
|
||||
|
||||
### 🚀 Quick Navigation
|
||||
|
||||
Reference in New Issue
Block a user