1. 18 Aug, 2025 10 commits
    • Stefy Lanza (nextime / spora )'s avatar
      Fix CSRF token undefined error in user_tokens.html template · d8abcab4
      Stefy Lanza (nextime / spora ) authored
      - Remove undefined csrf_token() function calls from JavaScript code
      - The API token management routes use session-based authentication (Flask-Login)
      - CSRF protection was not properly configured in the Flask application
      - Template now loads without Jinja2 template errors
      d8abcab4
    • Stefy Lanza (nextime / spora )'s avatar
      Fix template issues for JWT token management system · f4ca50d6
      Stefy Lanza (nextime / spora ) authored
      - Create missing base.html template that user_tokens.html extends
      - Add 'API Tokens' navigation link to all templates that were missing it:
        - app/templates/main/matches.html
        - app/templates/main/uploads.html
        - app/templates/upload/fixture.html
        - app/templates/upload/zip.html
      - Ensure consistent navigation across all authenticated pages
      - Fix PyInstaller packaging by including base.html template
      
      This resolves the template inheritance error and ensures the API Tokens
      link is accessible from all pages in the application.
      f4ca50d6
    • Stefy Lanza (nextime / spora )'s avatar
      Implement comprehensive JWT token management system · 50cae6c1
      Stefy Lanza (nextime / spora ) authored
      Features implemented:
      - APIToken model with secure SHA256 hashing and expiration tracking
      - JWT utilities for token generation, validation, and API authentication
      - Database migration (Migration_003_CreateAPITokensTable) for APIToken table
      - Token management routes for CRUD operations (create, list, delete, revoke, extend)
      - Professional web interface for token management with real-time functionality
      - API authentication middleware with @require_api_token decorator
      - Protected REST API endpoints (/api/fixtures, /api/matches, /api/match/<id>)
      - Multiple authentication methods (Bearer token, X-API-Token header, query parameter)
      - Token lifecycle management with usage tracking and IP monitoring
      - Updated navigation integration across all templates
      - Comprehensive README documentation with API examples and security best practices
      
      Security features:
      - Cryptographically secure token generation using secrets.token_urlsafe(32)
      - SHA256 token hashing for secure database storage
      - One-time token display with copy-to-clipboard functionality
      - Token expiration management with configurable periods
      - Usage tracking with last_used_at and last_used_ip fields
      - Proper database indexing and foreign key constraints
      
      Version bump: 1.0.0 → 1.1.0
      50cae6c1
    • Stefy Lanza (nextime / spora )'s avatar
      Enhance match detail page with comprehensive functionality · ae3b2bf3
      Stefy Lanza (nextime / spora ) authored
      Major Features Added:
      - Navigation bar integration with consistent styling across all pages
      - ZIP file management with upload/replace/delete functionality
      - Real-time progress bars for ZIP uploads with visual feedback
      - Complete outcomes management with editable values
      - Add new outcomes functionality with validation
      - Professional UI matching fixture detail page design
      
      Backend Enhancements:
      - New routes for outcome CRUD operations (/match/<id>/outcomes)
      - AJAX-powered interactions for seamless user experience
      - Proper error handling and user feedback systems
      - Input validation for numeric outcome values
      - User permission checks and security controls
      
      Frontend Improvements:
      - Responsive design optimized for mobile devices
      - Real-time visual feedback for changed values
      - Batch saving of multiple outcome changes
      - Individual outcome deletion with confirmation
      - Professional card-based layout for better information display
      - Consistent boxing theme branding throughout
      
      Technical Implementation:
      - Database migration system with version tracking
      - Fixture-based navigation and URL structure
      - Event-driven JavaScript with proper event listeners
      - Progress tracking with XMLHttpRequest for uploads
      - Template inheritance with Jinja2 templating
      - CSS grid layouts for responsive design
      
      Files Modified:
      - app/main/routes.py: Added outcome management routes
      - app/templates/main/match_detail.html: Complete redesign
      - app/database/: New migration system implementation
      - Multiple template files: Navigation consistency updates
      
      This commit provides a complete, professional match detail interface
      with full editing capabilities and consistent user experience.
      ae3b2bf3
    • Stefy Lanza (nextime / spora )'s avatar
      Fix runtime issues: add Redis dependency and Flask context handling · 8eb3aa0f
      Stefy Lanza (nextime / spora ) authored
      - Add redis==5.2.0 to requirements.txt and requirements-build.txt
      - Fix Flask application context issue in log_daemon_event function
      - Add has_app_context() check before database logging operations
      - Ensure daemon logging works both inside and outside Flask context
      8eb3aa0f
    • Stefy Lanza (nextime / spora )'s avatar
      Add GLIBC compatibility documentation and solutions · 82995299
      Stefy Lanza (nextime / spora ) authored
      - Add comprehensive GLIBC_COMPATIBILITY.md with multiple solutions for GLIBC version conflicts
      - Update BUILD.md with Python 3.13 requirements and GLIBC compatibility section
      - Document Docker, virtual environment, and target system build approaches
      - Provide troubleshooting steps for GLIBC 2.38 requirement issues
      82995299
    • Stefy Lanza (nextime / spora )'s avatar
      Fix circular import issue by renaming daemon.py to fixture_daemon.py · c4744d00
      Stefy Lanza (nextime / spora ) authored
      - Rename daemon.py to fixture_daemon.py to avoid naming conflict with python-daemon package
      - Update PyInstaller spec file to reference the new filename
      - This resolves the circular import error that was preventing the executable from running
      c4744d00
    • Stefy Lanza (nextime / spora )'s avatar
      Fix PyInstaller compatibility with Python 3.13 · c12f7bb3
      Stefy Lanza (nextime / spora ) authored
      - Update PyInstaller from 6.3.0 to 6.15.0 for Python 3.13 support
      - Update all dependencies to Python 3.13 compatible versions
      - Fix pandas compatibility (2.1.1 -> 2.2.3)
      - Update Flask, cryptography, and other packages to latest versions
      - Fix build script to work properly with PyInstaller spec files
      - Remove conflicting command-line arguments when using spec files
      c12f7bb3
    • Stefy Lanza (nextime / spora )'s avatar
      Add PyInstaller build system for single executable distribution · b016301b
      Stefy Lanza (nextime / spora ) authored
      - Added requirements-build.txt with PyInstaller dependencies
      - Created fixture-manager.spec with comprehensive build configuration
      - Added build.py automated build script with full workflow
      - Created BUILD.md with detailed build instructions and troubleshooting
      - Updated README.md with build section and executable distribution info
      - Includes hooks for Flask-SQLAlchemy and pandas compatibility
      - Supports cross-platform builds (Linux, Windows, macOS)
      - Creates distribution package with executable and essential files
      - Executable size ~80-120MB with all dependencies included
      - No Python installation required on target systems
      b016301b
    • Stefy Lanza (nextime / spora )'s avatar
      Initial commit: Complete Fixture Manager daemon system · 1876c8db
      Stefy Lanza (nextime / spora ) authored
      - Comprehensive Python daemon system for Linux servers
      - Secure web dashboard with authentication and authorization
      - RESTful API with JWT authentication
      - MySQL database connectivity with connection pooling
      - Advanced file upload system with real-time progress tracking
      - Intelligent CSV/XLSX fixture parsing algorithms
      - Two-stage upload workflow (fixture files + ZIP files)
      - Full Linux daemon process management with systemd integration
      - Complete security implementation with rate limiting and validation
      - SHA1 checksum calculation and verification
      - Automated installation and deployment scripts
      - Comprehensive documentation and configuration management
      1876c8db