Skip to content

Infrastructure #34

@magicoli

Description

@magicoli
  • Create essential core classes (only when needed by priority tasks)

Tasks

  • engine/core/application.php - Main application bootstrap
  • engine/core/config.php - Configuration management
  • engine/core/container.php - Simple dependency injection
  • engine/core/router.php - URL routing for modern features
  • engine/data/client.php - Client/project management
  • engine/data/directory.php - Directory scanning and management
  • engine/data/file.php - Generic file handling with metadata
  • engine/data/playlist.php - File collections and selections
  • engine/data/media.php - Parent class for video, images, audio etc.
  • engine/data/video.php - Video processing including conversion and thumbnails
  • engine/data/image.php - Image processing including thumbnails
  • engine/core/file_system.php - File system operations and utilities
  • engine/data/directory.php - Directory scanning and pattern matching
  • Create PHP alternatives for bin/ scripts (batchsync, etc.)
  • Extract thumbnail generation logic
  • Move metadata parsing from inc/functions.php (parseAtom, etc.)
  • Extract file variant detection logic (stripVariantSuffix, findVariants)
  • Move MIME type handling from global arrays
  • Extract file pattern matching logic (matchesPattern, matchesIgnorePattern)
  • engine/auth/user.php - User representation and session handling
  • engine/auth/email.php - Email-based authentication with verification codes
  • engine/auth/facebook.php - Facebook authentication
  • engine/auth/wordpress.php - WordPress authentication integration
  • engine/auth/access_control.php - Permissions and rights management
  • engine/api/auth.php - Authentication API endpoints
  • No registration required - authentication via email verification codes
  • Temporary access tokens for project-specific access
  • No permanent user accounts unless explicitly created
  • Admin creates clients (project managers)
  • Clients can invite users to their projects via email
  • Granular permissions: read-only, upload, favorites/selections, admin
  • Project-specific or client-wide access control
  • Per-project notification lists (email addresses)
  • Automated notifications when daily sessions are complete
  • Client-managed notification preferences
  • No login required for viewing content (public access)
  • Login required only for upload functionality
  • Integration with existing wrap-wp WordPress plugin
  • Modernize Facebook integration
  • Add support for other auth providers
  • RESTful API for external integrations
  • WebSocket support for real-time updates
  • Modern video player integration
  • Mobile-first responsive design
  • Progressive Web App features
  • Implement proper caching strategies
  • Optimize media processing pipeline
  • Add CDN support

Metadata

Metadata

Assignees

No one assigned

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions