feat: Migrate to MySQL and add unified environment configuration
## Database Migration (SQLite → MySQL) - Add Alembic migration framework - Add 'tr_' prefix to all tables to avoid conflicts in shared database - Remove SQLite support, use MySQL exclusively - Add pymysql driver dependency - Change ad_token column to Text type for long JWT tokens ## Unified Environment Configuration - Centralize all hardcoded settings to environment variables - Backend: Extend Settings class in app/core/config.py - Frontend: Use Vite environment variables (import.meta.env) - Docker: Move credentials to environment variables - Update .env.example files with comprehensive documentation ## Test Organization - Move root-level test files to tests/ directory: - test_chat_room.py → tests/test_chat_room.py - test_websocket.py → tests/test_websocket.py - test_realtime_implementation.py → tests/test_realtime_implementation.py - Fix path references in test_realtime_implementation.py Breaking Changes: - CORS now requires explicit origins (no more wildcard) - All database tables renamed with 'tr_' prefix - SQLite no longer supported 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
# Tasks: Unified Environment Configuration
|
||||
|
||||
## 1. Backend Configuration Enhancement
|
||||
|
||||
- [x] 1.1 擴展 `app/core/config.py` Settings 類別,新增所有環境變數
|
||||
- [x] 1.2 更新 `app/main.py` 使 CORS 來源從 `CORS_ORIGINS` 環境變數讀取
|
||||
- [x] 1.3 更新 `app/modules/realtime/router.py` 將硬編碼的 `SYSTEM_ADMIN_EMAIL` 改為環境變數
|
||||
- [x] 1.4 更新 `app/modules/auth/services/ad_client.py` 將 timeout 改為可配置
|
||||
- [x] 1.5 更新 `app/modules/realtime/services/message_service.py` 將訊息編輯時間限制改為可配置
|
||||
- [x] 1.6 更新 `app/modules/realtime/websocket_manager.py` 將打字超時改為可配置
|
||||
- [x] 1.7 更新 `app/modules/file_storage/validators.py` 將檔案大小限制改為可配置
|
||||
|
||||
## 2. Frontend Configuration Enhancement
|
||||
|
||||
- [x] 2.1 更新 `frontend/vite.config.ts` 使用環境變數設定端口和後端 URL
|
||||
- [x] 2.2 更新 `frontend/src/services/api.ts` 使用環境變數設定 API 超時
|
||||
- [x] 2.3 更新 `frontend/src/hooks/useMessages.ts` 使用環境變數設定重新取得間隔
|
||||
- [x] 2.4 更新 `frontend/src/hooks/useWebSocket.ts` 使用環境變數設定重連延遲
|
||||
- [x] 2.5 更新 `frontend/src/hooks/useReports.ts` 使用環境變數設定快取過期時間
|
||||
|
||||
## 3. Docker Configuration
|
||||
|
||||
- [x] 3.1 更新 `docker-compose.minio.yml` 使用環境變數取代硬編碼認證
|
||||
- [x] 3.2 創建 `.env.docker.example` 範例檔案
|
||||
|
||||
## 4. Documentation Updates
|
||||
|
||||
- [x] 4.1 更新根目錄 `.env.example` 包含所有後端環境變數及中英文說明
|
||||
- [x] 4.2 更新 `frontend/.env.example` 包含所有前端環境變數及說明
|
||||
- [x] 4.3 更新現有 `.env` 檔案包含所有新環境變數
|
||||
|
||||
## 5. Testing & Validation
|
||||
|
||||
- [x] 5.1 驗證所有環境變數有合理的預設值(開發環境可直接運行)
|
||||
- [x] 5.2 確保前端編譯成功
|
||||
- [x] 5.3 驗證後端配置正確載入
|
||||
Reference in New Issue
Block a user