2025-12-07 - Добавлена подробная инструкция по миграции в Coolify (Docker backend, статический web/admin, внешняя БД) — `docs/coolify-migration.md`. # Mnemo Cards Project Progress ## Infrastructure & Deployment ### ✅ Completed Tasks - **nginx Configuration System**: Implemented robust nginx configuration generation and deployment - Created `generate-nginx-configs.sh` for generating all nginx configurations - Created `deploy-nginx-configs.sh` for safe deployment with validation - Updated `check-nginx.sh` with port conflict detection and cleanup - Integrated into CI/CD pipeline - **Reverse Proxy Architecture**: Properly configured nginx as reverse proxy for all services - `mnemo-cards.online` → Flutter web app (static files) - `code.mnemo-cards.online` → Forgejo (port 3000) - `vscode.mnemo-cards.online` → VSCode Server (port 8443) - **Automated Version Management**: Implemented pre-deploy version bumping - Created `bump-version.sh` script for automatic version increment - Integrated as pre-hook in CI/CD pipeline - Updates both pubspec.yaml and API configuration - Automatic git commit with version changes - **SSL/TLS Configuration**: Secure HTTPS setup with Let's Encrypt certificates - Multi-domain certificates for all subdomains - Proper certificate permissions and renewal - **Admin API Configuration**: Fixed admin authentication routing - Admin panel now correctly routes authentication requests to production backend - Prevents localhost:8000 routing issues during development - Separate API client for admin endpoints ensures proper server targeting - **Admin Cards: Voice Upload on Save**: Fixed voice upload when updating/creating cards in admin - Added "Voice (will be added on Save)" to card editor and upload on Create/Update - Ensured voices list still loads while the form is disabled during save - Added unit tests for the upsert+voice flow (`mnemo_cards_admin`) - **Admin Packs: Color Palette Picker**: Added palette-based color selection for packs - Replaced free-text color input with swatches + native color picker - Added unit tests for the new color picker component (`mnemo_cards_admin`) - **Admin Tests: Pack Linking**: Added ability to link tests to packs in admin - Test editor now supports selecting packs and syncing links on Save - Added unit test coverage for the new pack-linking component (`mnemo_cards_admin`) - **Service Reliability**: Enhanced service management and monitoring - Port conflict detection and resolution - Orphaned process cleanup - Configuration validation before deployment - Emergency fallback configurations - Coolify container orchestration platform deployed ### 🔄 In Progress - **Coolify Migration**: Container orchestration platform for services - Coolify installed and configured on `coolify.mnemo-cards.online` - Automatic startup configured via cron @reboot - Ready for service migration (backend, web, admin) - **Monitoring & Alerting**: Implement comprehensive service monitoring - **Backup Automation**: Automated backup procedures for all services ### 📋 Planned Tasks - **Load Balancing**: Implement load balancing for high availability - **CDN Integration**: Content delivery network for static assets - **Security Hardening**: Additional security measures and hardening ## Development Status ### Web Application (mnemo_cards_web_v2) - **Framework**: Flutter Web - **Status**: Active development - **Key Features**: Vocabulary learning, testing, statistics - **Recent Updates**: - Added card voice support (metadata, API, web playback with error UI) - New voices collection linked to cards and protected endpoints for list/mp3 (Bearer) - Web playback: download bytes via authenticated API and play from memory (fixes 401 on `