VGMQ Full Implementation with Playlist and File Synchronization #24
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
VGMQ Full Implementation with Playlist and File Synchronization
Status: Not Started
Priority: High
Estimate: 8-12 hours
Summary
Implement a complete VGMQ (Video Game Music Quiz) system with:
Requirements
1. Environment Configuration
Add to .env:
VGMQ_PATH=/Users/sebastian/ResilioSync/VGMQ_Test/Add to .env.test:
VGMQ_PATH=/Users/sebastian/projects/MusicServer/testVGMQ/2. Database Schema
Migration:
internal/db/migrations/YYYYMMDDHHMMSS_create_new_vgmq.sql3. SQL Queries
File:
internal/db/queries/vgmq.sqlUpdate sqlc.yaml: Add
vgmqto tables list, runjust sqlc-generate4. Backend Implementation
File:
internal/backend/vgmq.goTypes: VGMQ, VGMQCSV, VGMQHandler
Global: vgmqPlaylist, currentVGMQIndex, playlistMutex
Functions: NewVGMQHandler, readCSV, syncFilesWithCSV, SyncFromCSV, GetAllVGMQ, GetVGMQBySongNumber, GetUnknownVGMQ, SearchVGMQ, InitVGMQPlaylist, GetCurrentVGMQ, GetFirstUnknownVGMQ, GetNextUnknownVGMQ, GetPreviousUnknownVGMQ, GetRandomUnknownVGMQ, GetVGMQByNumber, UpdateCurrentVGMQ, GetVGMQPlaylist, GetVGMQCurrentInfo
5. Server Integration
File:
internal/server/server.go6. HTTP Handlers
File:
internal/server/vgmq_handler.go7. Routes
File:
internal/server/routes.goAll /api/v1/vgmq/* protected by tokenAuthMiddleware