- 18 Aug, 2025 10 commits
 - 
- 
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
 - 
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.
 - 
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
 - 
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.
 - 
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
 - 
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
 - 
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
 - 
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
 - 
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
 - 
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
 
 -