William Valentin 40376a9cfc
Some checks failed
Build and Push Docker Image / build-and-push (push) Has been cancelled
Add comprehensive tests for error handling, input validation, search filtering, and UI components
- 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.
2025-08-06 10:58:55 -07:00

TheChart

Modern medication tracking application with advanced UI/UX for monitoring treatment progress and symptom evolution.

🚀 Quick Start

# Install dependencies
make install

# Run the application
make run

# Run tests (consolidated test suite)
make test

📚 Documentation

🎯 For Users

  • User Guide - Complete features, keyboard shortcuts, and usage guide
  • Changelog - Version history and recent improvements

🛠️ For Developers

📖 Complete Navigation

💡 Getting Started: New users should start with the User Guide, while developers should check the Developer Guide.

Recent Major Updates (v1.9.5+)

🎨 UI/UX Improvements

  • 8 Professional Themes: Arc, Equilux, Adapta, Yaru, Ubuntu, Plastik, Breeze, Elegance
  • Smart Tooltips: Context-sensitive help throughout the application
  • Enhanced Keyboard Shortcuts: Comprehensive shortcut system for all operations
  • Modern Styling: Card-style frames, professional form controls, responsive design

🧪 Testing Improvements

  • Consolidated Test Suite: Unified pytest-based testing structure
  • Quick Test Categories: Unit, integration, and theme-specific tests
  • Enhanced Coverage: Comprehensive test coverage with automated reporting
  • Developer-Friendly: Fast feedback cycles and targeted testing

🚀 Performance & Quality

  • Optimized Data Management: Enhanced CSV handling and caching
  • Improved Export System: JSON, XML, and PDF export with graph integration
  • Code Quality: Enhanced linting, formatting, and type checking
  • CI/CD Ready: Streamlined testing and deployment pipeline

🎯 Key Features

Core Functionality

  • 📊 Medication Tracking: Log daily medication intake with dose tracking
  • 📈 Symptom Monitoring: Track pathologies on customizable scales
  • 📋 Data Management: Comprehensive entry editing, validation, and organization
  • 📤 Export System: Multiple export formats (CSV, JSON, XML, PDF)

Advanced Features

  • 🎨 Theme System: 8 professional themes with complete UI integration
  • ⌨️ Keyboard Shortcuts: Full keyboard navigation and shortcuts
  • 📊 Visualization: Interactive graphs and charts with matplotlib
  • 💡 Smart Tooltips: Context-aware help and guidance
  • ⚙️ Settings Management: Persistent configuration and preferences

🛠️ Installation

Prerequisites

  • Python 3.11+
  • UV package manager (recommended) or pip
  • Virtual environment support

Setup

# Clone the repository
git clone <repository-url>
cd thechart

# Install with UV (recommended)
uv sync

# Or install with pip
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
pip install -r requirements.txt

# Run the application
python src/main.py

🧪 Testing

Quick Testing (Development)

# Fast unit tests
.venv/bin/python scripts/quick_test.py unit

# Theme functionality tests
.venv/bin/python scripts/quick_test.py theme

# Integration tests
.venv/bin/python scripts/quick_test.py integration

Comprehensive Testing

# Full test suite with coverage
.venv/bin/python scripts/run_tests.py

# Or use make
make test

🚀 Usage

Basic Workflow

  1. Launch: Run python src/main.py or use the desktop file
  2. Configure: Set up medicines and pathologies via the Tools menu
  3. Track: Add daily entries with medication and symptom data
  4. Visualize: View graphs and trends in the main interface
  5. Export: Export data in your preferred format

Keyboard Shortcuts

  • Ctrl+S: Save/Add entry
  • Ctrl+Q: Quit application
  • Ctrl+E: Export data
  • F1: Show help
  • F2: Open settings

📖 See the User Guide for complete usage instructions and advanced features.

🤝 Contributing

Development Setup

See the Developer Guide for:

  • Development environment setup
  • Testing procedures and best practices
  • Code quality standards
  • Architecture overview

Code Quality

This project maintains high code quality standards:

  • Testing: Comprehensive test suite with >90% coverage
  • Linting: Ruff for code formatting and style
  • Type Checking: MyPy for type safety
  • Documentation: Comprehensive documentation and examples

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


TheChart - Professional medication tracking with modern UI/UX

Description
No description provided
Readme 751 KiB
Languages
Python 98%
Makefile 1%
Dockerfile 0.6%
Shell 0.4%