Update version to 1.9.0 and release name to "Documentation Dynamo"; modify TODO list for upcoming milestones and documentation enhancements.
This commit is contained in:
-190
@@ -1,190 +0,0 @@
|
|||||||
# Quizzical Beats TODO List
|
|
||||||
|
|
||||||
## ✅ Completed Milestones
|
|
||||||
|
|
||||||
### Milestone 1: Spotify Integration Fix (Immediate Priority)
|
|
||||||
|
|
||||||
* [x] Fix Spotify playlist import functionality
|
|
||||||
|
|
||||||
* [x] Implement proper pagination for playlist retrieval
|
|
||||||
* [x] Add better error handling for API rate limits
|
|
||||||
* [x] Refactor Spotify client code for maintainability
|
|
||||||
* [x] Add logging to track API requests and responses for debugging
|
|
||||||
|
|
||||||
### Milestone 2: Authentication Foundation
|
|
||||||
|
|
||||||
* [x] Design database schema for users and roles
|
|
||||||
* [x] Implement basic authentication system with local username/password
|
|
||||||
* [x] Create user management interfaces (register, login, profile)
|
|
||||||
* [x] Set up admin role functionality
|
|
||||||
* [x] Implement secure password handling and session management
|
|
||||||
|
|
||||||
### Milestone 3: Spotify Integration with User Accounts
|
|
||||||
|
|
||||||
* [x] Migrate Spotify token storage to user-specific model
|
|
||||||
* [x] Add Spotify OAuth login option
|
|
||||||
* [x] Create fallback mechanism for service account
|
|
||||||
* [x] Link user playlists with their Spotify accounts
|
|
||||||
|
|
||||||
### Milestone 4: Enhanced User Experience
|
|
||||||
|
|
||||||
* [x] Enable user-specific intro/outro/replay MP3s
|
|
||||||
* [x] Update email system to use logged-in user's email
|
|
||||||
* [x] Implement user preferences and settings
|
|
||||||
|
|
||||||
### Milestone 5: Additional OAuth Providers
|
|
||||||
|
|
||||||
* [x] Add Google OAuth integration
|
|
||||||
* [x] Add Authentik OAuth integration
|
|
||||||
* [x] Ensure consistent user experience across auth methods
|
|
||||||
|
|
||||||
### Milestone 6: Advanced Features & Optimizations
|
|
||||||
|
|
||||||
* [x] Create comprehensive logging and monitoring
|
|
||||||
|
|
||||||
### Milestone 7: **"Bulletproof Backups" Release** – System Backup & Restore
|
|
||||||
|
|
||||||
* [x] Implement full system-wide backup and restore
|
|
||||||
|
|
||||||
* [x] Backup all critical data: DB, rounds, MP3s, user settings
|
|
||||||
* [x] Support both manual and scheduled backups
|
|
||||||
* [x] Admin UI to download, manage, and restore backups
|
|
||||||
* [x] Store backups to local filesystem or optional cloud locations
|
|
||||||
* [x] Include versioning to support future schema migration compatibility
|
|
||||||
* [x] Add internal backup verification/checksum logic
|
|
||||||
* [x] Integrate with Ofelia scheduler for automatic backups
|
|
||||||
* [x] Add command-line backup functionality for scripting
|
|
||||||
* [x] Implement retention policy for automatic cleanup of old backups
|
|
||||||
* [x] Add system health check and status dashboard
|
|
||||||
|
|
||||||
### Milestone 8: **"Dropbox Dispatch" Release** – Round Export via Dropbox
|
|
||||||
|
|
||||||
* [x] Add Dropbox OAuth login per user
|
|
||||||
* [x] Let users link/unlink and view Dropbox account info
|
|
||||||
* [x] Export full rounds (metadata + MP3s) as ZIP or PDF
|
|
||||||
* [x] Push selected rounds to user's Dropbox via UI
|
|
||||||
* [x] Add fallback handling and Dropbox access token refresh
|
|
||||||
* [x] Log export actions and errors for transparency
|
|
||||||
|
|
||||||
### Milestone 9: **"Documentation Dynamo" Release** – Comprehensive Documentation
|
|
||||||
|
|
||||||
* [x] Complete user-facing documentation
|
|
||||||
* [x] Create step-by-step user guides with screenshots
|
|
||||||
* [x] Add FAQ section based on common support questions
|
|
||||||
* [x] Developer documentation
|
|
||||||
* [x] API documentation with OpenAPI/Swagger spec
|
|
||||||
* [x] Database schema documentation with ER diagrams
|
|
||||||
* [x] Codebase architecture overview
|
|
||||||
* [x] Setup guide for local development environment
|
|
||||||
* [x] Operations documentation
|
|
||||||
* [x] Deployment guide for various environments (Docker, bare metal)
|
|
||||||
* [x] Backup and restore procedures
|
|
||||||
* [x] Monitoring and alerting setup
|
|
||||||
* [x] Troubleshooting common issues
|
|
||||||
* [x] Create centralized documentation portal
|
|
||||||
* [x] Set up MkDocs or similar documentation site
|
|
||||||
* [x] Implement search functionality
|
|
||||||
* [x] Add version control for documentation
|
|
||||||
* [x] Set up automated documentation deployment
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🆕 Upcoming Milestones
|
|
||||||
|
|
||||||
### 🎯 Milestone 10: **"Scraper Symphony" Release** – External Music Data
|
|
||||||
|
|
||||||
* [ ] Identify 2–3 public music chart sources (Billboard, Official Charts, etc.)
|
|
||||||
* [ ] Build scraper with user-agent rotation and proxy support
|
|
||||||
* [ ] Normalize results into song data model
|
|
||||||
* [ ] Link scraped data to existing Spotify records
|
|
||||||
* [ ] Review interface for admins to validate scraped data
|
|
||||||
* [ ] Store scraper runs and log errors transparently
|
|
||||||
* [ ] Add cron-based scheduler for scraper refresh
|
|
||||||
|
|
||||||
### 🎯 Milestone 11: **"Alert Amplifier" Release** – Notifications & Emails
|
|
||||||
|
|
||||||
* [ ] Email verification for new accounts
|
|
||||||
* [ ] Notify users when round generation completes
|
|
||||||
* [ ] Notify users of expiring OAuth tokens (Spotify, Dropbox)
|
|
||||||
* [ ] Optional weekly usage summary for admins
|
|
||||||
* [ ] Push notification support via browser or Telegram
|
|
||||||
|
|
||||||
### 🎯 Milestone 12: **"Rhythm Roundsmith" Release** – AI-Generated Quiz Rounds
|
|
||||||
|
|
||||||
* [ ] Develop AI module to generate full quiz rounds
|
|
||||||
* [ ] Use existing song metadata (genre, year, tempo, artist)
|
|
||||||
* [ ] Support different quiz formats: multiple-choice, guess-the-clip, open-ended
|
|
||||||
* [ ] Create quiz rounds from a playlist
|
|
||||||
* [ ] Let users prompt AI with a theme or vibe (e.g., "Chill 80s", "Dancefloor Divas")
|
|
||||||
* [ ] Include fallback logic when metadata is sparse
|
|
||||||
* [ ] Let users review/edit AI-generated questions before saving
|
|
||||||
* [ ] Log prompt/response pairs for model improvement
|
|
||||||
* [ ] Add backend abstraction to swap AI providers (OpenAI, Mistral, etc.)
|
|
||||||
* [ ] Build tuning pipeline for prompt quality testing
|
|
||||||
|
|
||||||
### 🎯 Milestone 13: **"Storage Sanctuary" Release** – Multi-Provider Storage
|
|
||||||
|
|
||||||
* [ ] Implement cloud storage backend abstraction
|
|
||||||
* [ ] Add support for AWS S3 storage
|
|
||||||
* [ ] Configure S3 credentials and bucket management
|
|
||||||
* [ ] Support for optional encryption and lifecycle policies
|
|
||||||
* [ ] Add support for S3-compatible storage (MinIO, Wasabi, etc.)
|
|
||||||
* [ ] Integrate Dropbox as a storage backend
|
|
||||||
* [ ] Create unified storage management UI
|
|
||||||
* [ ] Export backups to cloud storage
|
|
||||||
* [ ] Store and retrieve music rounds from cloud storage
|
|
||||||
* [ ] Add background synchronization and status tracking
|
|
||||||
* [ ] Implement bandwidth-efficient differential uploads
|
|
||||||
|
|
||||||
### 🎯 Milestone 14: **"Collaboration Core" Release** – Multi-User Round Sharing
|
|
||||||
|
|
||||||
* [ ] Allow shared editing of rounds
|
|
||||||
* [ ] Add collaboration roles (view, comment, edit)
|
|
||||||
* [ ] Invite others to rounds via username/email
|
|
||||||
* [ ] Show who is currently editing (presence indicator)
|
|
||||||
* [ ] Track revision history and changes
|
|
||||||
* [ ] Allow public view-only sharing links with optional expiration
|
|
||||||
* [ ] Display access audit log (who opened/edited and when)
|
|
||||||
|
|
||||||
### 🎯 Milestone 15: **"Profile Personalizer" Release** – User Preferences & Tagging
|
|
||||||
|
|
||||||
* [x] User-specific intro/outro/replay MP3 fallback system
|
|
||||||
* [x] Persistent custom user settings
|
|
||||||
* [ ] Let users define default round format
|
|
||||||
* [ ] Implement personal tags for rounds (e.g., "pub night", "2020s", "pop")
|
|
||||||
* [ ] Add filtering and sorting by tag
|
|
||||||
* [ ] Dark mode toggle
|
|
||||||
|
|
||||||
### 🎯 Milestone 16: **"Performance Pulse" Release** – Scaling & Speed
|
|
||||||
|
|
||||||
* [ ] Index high-traffic database fields (tags, dates, users)
|
|
||||||
* [ ] Paginate round/song lists
|
|
||||||
* [ ] Lazy load MP3 previews and large content
|
|
||||||
* [ ] Add Redis/memory cache layer for read-heavy endpoints
|
|
||||||
* [ ] Load test with simulated users and large playlists
|
|
||||||
|
|
||||||
### 🎯 Milestone 17: **"Deployment Dynamo" Release** – CI/CD and Maintenance
|
|
||||||
|
|
||||||
* [ ] GitHub Actions or GitLab CI/CD pipeline for builds and tests
|
|
||||||
* [ ] Nightly backup job with status alert
|
|
||||||
* [ ] Add Sentry or similar for exception tracking
|
|
||||||
* [ ] Updater script for pulling latest Git commits safely
|
|
||||||
* [ ] Add status endpoint (`/healthz`) for uptime monitors
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Other Features / Ideas in Progress
|
|
||||||
|
|
||||||
* [ ] "Blind Test" toggle per round (hide title/artist metadata)
|
|
||||||
* [ ] Team scoreboard (live projection mode)
|
|
||||||
* [ ] Public round library with clone/save features
|
|
||||||
* [ ] REST API for third-party integration (e.g., with trivia bots)
|
|
||||||
* [ ] Audio fingerprint validation for user-uploaded MP3s
|
|
||||||
* [ ] Round analytics: usage frequency, popularity, ratings
|
|
||||||
* [ ] Documentation enhancements:
|
|
||||||
* [ ] Create video tutorials for complex workflows
|
|
||||||
* [ ] Implement keyboard shortcuts in the application
|
|
||||||
* [ ] Document keyboard shortcuts for power users when implemented
|
|
||||||
|
|
||||||
*Last updated: May 12, 2025*
|
|
||||||
|
|
||||||
@@ -66,11 +66,63 @@
|
|||||||
* [x] Add fallback handling and Dropbox access token refresh
|
* [x] Add fallback handling and Dropbox access token refresh
|
||||||
* [x] Log export actions and errors for transparency
|
* [x] Log export actions and errors for transparency
|
||||||
|
|
||||||
|
### Milestone 9: **"Documentation Dynamo" Release** – Comprehensive Documentation
|
||||||
|
|
||||||
|
* [x] Complete user-facing documentation
|
||||||
|
* [x] Create step-by-step user guides with screenshots
|
||||||
|
* [x] Add FAQ section based on common support questions
|
||||||
|
* [x] Developer documentation
|
||||||
|
* [x] API documentation with OpenAPI/Swagger spec
|
||||||
|
* [x] Database schema documentation with ER diagrams
|
||||||
|
* [x] Codebase architecture overview
|
||||||
|
* [x] Setup guide for local development environment
|
||||||
|
* [x] Operations documentation
|
||||||
|
* [x] Deployment guide for various environments (Docker, bare metal)
|
||||||
|
* [x] Backup and restore procedures
|
||||||
|
* [x] Monitoring and alerting setup
|
||||||
|
* [x] Troubleshooting common issues
|
||||||
|
* [x] Create centralized documentation portal
|
||||||
|
* [x] Set up MkDocs or similar documentation site
|
||||||
|
* [x] Implement search functionality
|
||||||
|
* [x] Add version control for documentation
|
||||||
|
* [x] Set up automated documentation deployment
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🆕 Upcoming Milestones
|
## 🆕 Upcoming Milestones
|
||||||
|
|
||||||
### 🎯 Milestone 9: **"Storage Sanctuary" Release** – Multi-Provider Storage
|
### 🎯 Milestone 10: **"Scraper Symphony" Release** – External Music Data
|
||||||
|
|
||||||
|
* [ ] Identify 2–3 public music chart sources (Billboard, Official Charts, etc.)
|
||||||
|
* [ ] Build scraper with user-agent rotation and proxy support
|
||||||
|
* [ ] Normalize results into song data model
|
||||||
|
* [ ] Link scraped data to existing Spotify records
|
||||||
|
* [ ] Review interface for admins to validate scraped data
|
||||||
|
* [ ] Store scraper runs and log errors transparently
|
||||||
|
* [ ] Add cron-based scheduler for scraper refresh
|
||||||
|
|
||||||
|
### 🎯 Milestone 11: **"Alert Amplifier" Release** – Notifications & Emails
|
||||||
|
|
||||||
|
* [ ] Email verification for new accounts
|
||||||
|
* [ ] Notify users when round generation completes
|
||||||
|
* [ ] Notify users of expiring OAuth tokens (Spotify, Dropbox)
|
||||||
|
* [ ] Optional weekly usage summary for admins
|
||||||
|
* [ ] Push notification support via browser or Telegram
|
||||||
|
|
||||||
|
### 🎯 Milestone 12: **"Rhythm Roundsmith" Release** – AI-Generated Quiz Rounds
|
||||||
|
|
||||||
|
* [ ] Develop AI module to generate full quiz rounds
|
||||||
|
* [ ] Use existing song metadata (genre, year, tempo, artist)
|
||||||
|
* [ ] Support different quiz formats: multiple-choice, guess-the-clip, open-ended
|
||||||
|
* [ ] Create quiz rounds from a playlist
|
||||||
|
* [ ] Let users prompt AI with a theme or vibe (e.g., "Chill 80s", "Dancefloor Divas")
|
||||||
|
* [ ] Include fallback logic when metadata is sparse
|
||||||
|
* [ ] Let users review/edit AI-generated questions before saving
|
||||||
|
* [ ] Log prompt/response pairs for model improvement
|
||||||
|
* [ ] Add backend abstraction to swap AI providers (OpenAI, Mistral, etc.)
|
||||||
|
* [ ] Build tuning pipeline for prompt quality testing
|
||||||
|
|
||||||
|
### 🎯 Milestone 13: **"Storage Sanctuary" Release** – Multi-Provider Storage
|
||||||
|
|
||||||
* [ ] Implement cloud storage backend abstraction
|
* [ ] Implement cloud storage backend abstraction
|
||||||
* [ ] Add support for AWS S3 storage
|
* [ ] Add support for AWS S3 storage
|
||||||
@@ -84,21 +136,7 @@
|
|||||||
* [ ] Add background synchronization and status tracking
|
* [ ] Add background synchronization and status tracking
|
||||||
* [ ] Implement bandwidth-efficient differential uploads
|
* [ ] Implement bandwidth-efficient differential uploads
|
||||||
|
|
||||||
### 🎯 Milestone 10: **"Rhythm Roundsmith" Release** – AI-Generated Quiz Rounds
|
### 🎯 Milestone 14: **"Collaboration Core" Release** – Multi-User Round Sharing
|
||||||
|
|
||||||
* [ ] Develop AI module to generate full quiz rounds
|
|
||||||
|
|
||||||
* [ ] Use existing song metadata (genre, year, tempo, artist)
|
|
||||||
* [ ] Support different quiz formats: multiple-choice, guess-the-clip, open-ended
|
|
||||||
* [ ] Create quiz rounds from a playlist
|
|
||||||
* [ ] Let users prompt AI with a theme or vibe (e.g., "Chill 80s", "Dancefloor Divas")
|
|
||||||
* [ ] Include fallback logic when metadata is sparse
|
|
||||||
* [ ] Let users review/edit AI-generated questions before saving
|
|
||||||
* [ ] Log prompt/response pairs for model improvement
|
|
||||||
* [ ] Add backend abstraction to swap AI providers (OpenAI, Mistral, etc.)
|
|
||||||
* [ ] Build tuning pipeline for prompt quality testing
|
|
||||||
|
|
||||||
### 🎯 Milestone 11: **"Collaboration Core" Release** – Multi-User Round Sharing
|
|
||||||
|
|
||||||
* [ ] Allow shared editing of rounds
|
* [ ] Allow shared editing of rounds
|
||||||
* [ ] Add collaboration roles (view, comment, edit)
|
* [ ] Add collaboration roles (view, comment, edit)
|
||||||
@@ -108,7 +146,7 @@
|
|||||||
* [ ] Allow public view-only sharing links with optional expiration
|
* [ ] Allow public view-only sharing links with optional expiration
|
||||||
* [ ] Display access audit log (who opened/edited and when)
|
* [ ] Display access audit log (who opened/edited and when)
|
||||||
|
|
||||||
### 🎯 Milestone 12: **"Profile Personalizer" Release** – User Preferences & Tagging
|
### 🎯 Milestone 15: **"Profile Personalizer" Release** – User Preferences & Tagging
|
||||||
|
|
||||||
* [x] User-specific intro/outro/replay MP3 fallback system
|
* [x] User-specific intro/outro/replay MP3 fallback system
|
||||||
* [x] Persistent custom user settings
|
* [x] Persistent custom user settings
|
||||||
@@ -117,25 +155,7 @@
|
|||||||
* [ ] Add filtering and sorting by tag
|
* [ ] Add filtering and sorting by tag
|
||||||
* [ ] Dark mode toggle
|
* [ ] Dark mode toggle
|
||||||
|
|
||||||
### 🎯 Milestone 13: **"Scraper Symphony" Release** – External Music Data
|
### 🎯 Milestone 16: **"Performance Pulse" Release** – Scaling & Speed
|
||||||
|
|
||||||
* [ ] Identify 2–3 public music chart sources (Billboard, Official Charts, etc.)
|
|
||||||
* [ ] Build scraper with user-agent rotation and proxy support
|
|
||||||
* [ ] Normalize results into song data model
|
|
||||||
* [ ] Link scraped data to existing Spotify records
|
|
||||||
* [ ] Review interface for admins to validate scraped data
|
|
||||||
* [ ] Store scraper runs and log errors transparently
|
|
||||||
* [ ] Add cron-based scheduler for scraper refresh
|
|
||||||
|
|
||||||
### 🎯 Milestone 14: **"Alert Amplifier" Release** – Notifications & Emails
|
|
||||||
|
|
||||||
* [ ] Email verification for new accounts
|
|
||||||
* [ ] Notify users when round generation completes
|
|
||||||
* [ ] Notify users of expiring OAuth tokens (Spotify, Dropbox)
|
|
||||||
* [ ] Optional weekly usage summary for admins
|
|
||||||
* [ ] Push notification support via browser or Telegram
|
|
||||||
|
|
||||||
### 🎯 Milestone 15: **"Performance Pulse" Release** – Scaling & Speed
|
|
||||||
|
|
||||||
* [ ] Index high-traffic database fields (tags, dates, users)
|
* [ ] Index high-traffic database fields (tags, dates, users)
|
||||||
* [ ] Paginate round/song lists
|
* [ ] Paginate round/song lists
|
||||||
@@ -143,7 +163,7 @@
|
|||||||
* [ ] Add Redis/memory cache layer for read-heavy endpoints
|
* [ ] Add Redis/memory cache layer for read-heavy endpoints
|
||||||
* [ ] Load test with simulated users and large playlists
|
* [ ] Load test with simulated users and large playlists
|
||||||
|
|
||||||
### 🎯 Milestone 16: **"Deployment Dynamo" Release** – CI/CD and Maintenance
|
### 🎯 Milestone 17: **"Deployment Dynamo" Release** – CI/CD and Maintenance
|
||||||
|
|
||||||
* [ ] GitHub Actions or GitLab CI/CD pipeline for builds and tests
|
* [ ] GitHub Actions or GitLab CI/CD pipeline for builds and tests
|
||||||
* [ ] Nightly backup job with status alert
|
* [ ] Nightly backup job with status alert
|
||||||
@@ -161,6 +181,10 @@
|
|||||||
* [ ] REST API for third-party integration (e.g., with trivia bots)
|
* [ ] REST API for third-party integration (e.g., with trivia bots)
|
||||||
* [ ] Audio fingerprint validation for user-uploaded MP3s
|
* [ ] Audio fingerprint validation for user-uploaded MP3s
|
||||||
* [ ] Round analytics: usage frequency, popularity, ratings
|
* [ ] Round analytics: usage frequency, popularity, ratings
|
||||||
|
* [ ] Documentation enhancements:
|
||||||
|
* [ ] Create video tutorials for complex workflows
|
||||||
|
* [ ] Implement keyboard shortcuts in the application
|
||||||
|
* [ ] Document keyboard shortcuts for power users when implemented
|
||||||
|
|
||||||
*Last updated: May 8, 2025*
|
*Last updated: May 12, 2025*
|
||||||
|
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ This module provides version details that can be displayed in both CLI and UI.
|
|||||||
|
|
||||||
# Version information
|
# Version information
|
||||||
VERSION_INFO = {
|
VERSION_INFO = {
|
||||||
"version": "1.7.0",
|
"version": "1.9.0",
|
||||||
"release_name": "Bulletproof Backups",
|
"release_name": "Documentation Dynamo",
|
||||||
"release_date": "2025-05-07",
|
"release_date": "2025-05-12",
|
||||||
"build_number": "20250507001"
|
"build_number": "20250512001"
|
||||||
}
|
}
|
||||||
|
|
||||||
def get_version_str(include_build=False):
|
def get_version_str(include_build=False):
|
||||||
|
|||||||
Reference in New Issue
Block a user