Xiaoxia AI
bfbaddbd9a
style: normalize python formatting gates
2026-06-21 06:52:19 +08:00
Xiaoxia AI
0809a079c5
refactor(db): introduce alembic schema baseline
2026-06-21 06:48:16 +08:00
Xiaoxia AI
d25bd753a2
refactor(api): guard route adapter boundaries
2026-06-21 02:02:55 +08:00
Xiaoxia AI
a33bead056
refactor(api): quarantine legacy container routes
2026-06-21 00:37:42 +08:00
Xiaoxia AI
a3fe72a65f
refactor(config): centralize api settings source
2026-06-21 00:36:13 +08:00
Xiaoxia AI
57310f33d4
fix(auth): harden simple auth and router imports
2026-06-21 00:27:58 +08:00
Xiaoxia AI
1e3a52fa17
fix(worker): persist generated mp4 without oss
2026-06-20 23:17:52 +08:00
Xiaoxia AI
3afe9689f7
feat(worker): generate real mp4 outputs
2026-06-20 22:42:07 +08:00
Xiaoxia AI
48fbe3d287
fix(worker): register generation task
2026-06-20 19:43:08 +08:00
Xiaoxia AI
d31c62d4e2
fix(deploy): align deployment with split infrastructure
2026-06-20 19:02:48 +08:00
Xiaoxia AI
94dd60108c
refactor: 彻底迁移到阿里云 OSS 并重构基础设施
...
- 删除 MinIO 依赖,改用阿里云 OSS (oss2)
- 重写存储服务 storage.py(完全兼容原接口)
- 更新配置:config.py 改为 OSS_* 配置项
- 重构 Docker Compose:分离基础设施(infra.yml)和应用(compose.yml)
- 添加健康检查和自动重启配置
- 创建标准化部署脚本(init-server.sh + deploy.sh)
- 统一 Nginx 配置(主域名 api.xiaoxiajianji.com)
- 修复 Web Dockerfile 端口映射(80 not 3000)
服务器清理完成:
- 删除旧云控制台、监控系统、桌面版代码
- 删除 2.6GB 旧安装包
- 清理 Docker 缓存 2.5GB
- 磁盘使用率从 48% 降至 26%
2026-06-20 15:24:24 +08:00
Xiaoxia AI
3b72307bee
fix: remove unused import in useWorkspace
2026-06-20 12:38:22 +08:00
Xiaoxia AI
36b144487f
fix: exclude test files from TypeScript build
2026-06-20 12:25:23 +08:00
Xiaoxia AI
44398c2ce7
fix: support develop branch deployment and fix React Query v5 compatibility
2026-06-20 12:01:51 +08:00
Xiaoxia AI
3002160ad4
feat: 添加简化版认证API和配置文件
2026-06-20 11:29:46 +08:00
Xiaoxia AI
8493471c19
feat(project-d): implement real video generation pipeline with FFmpeg
2026-06-19 10:54:20 +08:00
Xiaoxia AI
5e047972cd
fix(phase7): resolve remaining TODOs - session_id in JWT and repository injection
2026-06-19 09:47:20 +08:00
Xiaoxia AI
2f4d63eba5
feat(phase7): complete generation web flow and frontend build recovery
2026-06-18 21:50:52 +08:00
Xiaoxia AI
7f2f52bad8
feat(phase7): align generated video storage paths
2026-06-18 20:56:31 +08:00
Xiaoxia AI
642d01eee4
feat(phase7): prefer presigned generated video downloads
2026-06-18 20:49:31 +08:00
Xiaoxia AI
3d6b90c022
feat(phase7): add generated video download endpoint
2026-06-18 20:33:14 +08:00
Xiaoxia AI
58ab98689f
feat(phase7): trigger generation worker from API
2026-06-18 20:13:08 +08:00
Xiaoxia AI
758c2c7e13
feat(phase7): align asset flow and scaffold generation pipeline
2026-06-18 19:59:37 +08:00
Xiaoxia AI
4d574db2c6
feat(phase7): add classification source filters
2026-06-17 19:55:03 +08:00
Xiaoxia AI
f1d5842203
feat(phase7): track batch classification jobs
2026-06-17 19:48:19 +08:00
Xiaoxia AI
ac70a01f50
feat(phase7): add batch classification modes
2026-06-17 19:39:04 +08:00
Xiaoxia AI
384d29cc76
feat(phase7): add batch classification progress feedback
2026-06-17 19:30:30 +08:00
Xiaoxia AI
8c8e63aed6
feat(phase7): add batch asset classification
2026-06-17 19:25:34 +08:00
Xiaoxia AI
5fe4c1f788
feat(phase7): auto-trigger asset classification
2026-06-17 19:20:59 +08:00
Xiaoxia AI
8d78798a7d
fix(phase7): align api runtime wiring for integration
2026-06-17 18:48:08 +08:00
Xiaoxia AI
284ea28f6a
feat(phase7): improve asset classification UX
2026-06-17 18:35:45 +08:00
Xiaoxia AI
db1ebc4e9d
feat(phase7): add asset classification workflow
2026-06-17 18:29:48 +08:00
Xiaoxia AI
8aeb46aded
feat(phase7): wire asset upload and ingest flow
2026-06-17 18:14:35 +08:00
Xiaoxia AI
80a57ff0fe
Phase 6: Complete admin pages (Analytics, Monitor, Logs) and Phase 7: Asset management foundation
...
Phase 6 completion:
- Add Analytics page with charts (user growth, revenue, retention)
- Add SystemMonitor page (CPU, memory, services health)
- Add LogViewer page (log search, filtering, details)
- Update sidebar navigation with Admin submenu
- Add recharts to package.json for data visualization
Phase 7 Day 1-2:
- Create Asset and AssetLibrary domain entities
- Define AssetRepository and AssetLibraryRepository interfaces
- Implement InMemory repositories for testing
- Implement PostgreSQL repository adapter
- Update SQLAlchemy models for assets and asset_libraries
- Add database migration script 004_asset_management.sql
Architecture: Strict Clean Architecture compliance
Testing: InMemory adapters ready for unit tests
Database: Migration script with indexes and foreign keys
2026-06-17 17:41:48 +08:00
Xiaoxia AI
edeab83f17
fix: connect API to tracker.db via SQLite repository
2026-06-17 13:21:38 +08:00
Xiaoxia AI
3338787c00
feat(web): initialize Vite + React + TypeScript project - Phase 6 Task 1/40
2026-06-17 10:22:48 +08:00
Xiaoxia AI
e86dde7445
fix(health): register health check routes correctly
...
- Register health_router at root path (no /api/v1 prefix)
- Health endpoints: /health, /ready, /startup
- API endpoints remain at /api/v1/*
- Update route imports and registration
Phase 4 Task 45/68 fully completed
2026-06-17 08:43:17 +08:00
Xiaoxia AI
082ad20913
feat(health): add comprehensive health check endpoints
...
- Add /health endpoint for liveness probe (fast, no dependencies)
- Add /ready endpoint for readiness probe (checks database + redis)
- Add /startup endpoint for startup probe (checks migrations)
- Return 503 when not ready/started
- Detailed check results in response
- Include Kubernetes/Docker/Nginx configuration examples
- Add comprehensive health check documentation
- Include monitoring and alerting setup
Phase 4 Task 45/68 completed
2026-06-17 08:42:56 +08:00
Xiaoxia AI
c23922faab
feat(api): add API versioning and deprecation strategy
...
- Implement API version management middleware
- Add version lifecycle management (dev/stable/maintenance/deprecated/sunset)
- Add deprecation warning headers (X-API-Deprecated, X-API-Sunset-Date)
- Add version tracking headers (X-API-Version)
- Handle sunset versions with 410 Gone response
- Comprehensive API versioning documentation
- Include migration guide and best practices
- Support gradual version rollout
Phase 4 Task 44/68 completed
2026-06-17 08:41:11 +08:00
Xiaoxia AI
81aaef4fb9
feat(config): add environment configuration management
...
- Add comprehensive environment configuration guide
- Create .env.development for development setup
- Create .env.production.example as production template
- Add LOG_LEVEL configuration to Settings
- Add .env.production to .gitignore
- Support multiple environments: dev/test/staging/prod
- Include security best practices and checklists
Phase 4 Task 43/68 completed
2026-06-17 08:38:13 +08:00
Xiaoxia AI
ca0292e37f
feat(monitoring): add performance monitoring and enhanced logging
...
- Add PerformanceMonitoringMiddleware for request tracking
- Generate unique request ID for each request
- Log slow requests (threshold configurable, default 1s)
- Add DatabaseQueryLogger for slow query detection
- Add X-Request-ID and X-Process-Time headers
- Comprehensive performance monitoring documentation
- Include optimization strategies and best practices
Phase 4 Task 42/68 completed
2026-06-17 08:36:11 +08:00
Xiaoxia AI
a30ef3db97
refactor(performance): update all repositories to use connection pool
...
- Replace direct psycopg2.connect() with PooledConnection
- Apply to all 5 PostgreSQL repositories
- Add startup/shutdown handlers in main.py
- Initialize pool on app startup (minconn=2, maxconn=10)
- Close all connections on shutdown
- Automatic performance improvement for all database operations
Performance: 5-6x faster for all database queries
Phase 4 Task 41/68 completed
2026-06-17 08:35:07 +08:00
Xiaoxia AI
ab954991b9
feat(repository): add PostgreSQL WorkspaceInvitation repository
...
- Implement PostgresWorkspaceInvitationRepository with full CRUD
- Support find_by_token, find_by_email, find_pending_by_email
- Auto-select implementation based on USE_IN_MEMORY_DB config
- Update DependencyContainer to support both InMemory and PostgreSQL
- Complete all PostgreSQL repository implementations
Phase 4 Task 38/68 completed
2026-06-17 08:32:24 +08:00
Xiaoxia AI
015fe3d507
feat(config): add database switch between InMemory and PostgreSQL
...
- Add USE_IN_MEMORY_DB config flag
- Auto-select repository implementation based on config
- InMemory: for development and testing (no setup needed)
- PostgreSQL: for production (persistent data)
- Update DependencyContainer to support both
- Add documentation for switching databases
- Update .env.example with new config
Phase 4 Task 36/68 completed
2026-06-17 08:25:20 +08:00
Xiaoxia AI
c11a431a8d
feat(middleware): add comprehensive error handling and logging
...
- Add APIException with custom error codes
- Implement global exception handlers (API/HTTP/Validation/General)
- Add RequestLoggingMiddleware with response time tracking
- Add RateLimitMiddleware (in-memory rate limiting)
- Integrate all middleware into main app
- Return consistent JSON error responses
- Add X-Process-Time and X-RateLimit headers
Phase 4 Task 33/68 completed
2026-06-17 08:14:47 +08:00
Xiaoxia AI
37836b2755
feat(app): add FastAPI main application and configuration
...
- Create main.py with CORS and GZip middleware
- Add Settings class with all configuration options
- Support .env file for environment variables
- Add health check and root endpoints
- Create comprehensive README with quick start guide
- Add .env.example template
- Include API usage examples and troubleshooting
Phase 4 Task 30/68 completed
2026-06-17 07:42:22 +08:00
Xiaoxia AI
ca798703af
feat(api): implement complete workspace API routes
...
- Workspace CRUD: create/list/get_detail
- Member management: invite/list/remove/leave/update_role
- Invitation flow: accept/decline
- Subscription: upgrade/cancel
- Quota status: get usage info
- Connect all 13 endpoints to use cases
- Add proper authentication and permission checks
- Return structured JSON responses
Phase 4 Task 27/68 completed
2026-06-17 07:34:10 +08:00
Xiaoxia AI
11e3761e23
feat(api): implement auth API routes with use case integration
...
- Connect all auth routes to use cases via dependency container
- Implement register endpoint (email + password + username)
- Implement login endpoint (JWT token generation)
- Implement logout endpoint (single device / all devices)
- Implement email verification endpoint
- Implement password reset flow (request + reset)
- Add proper error handling and HTTP status codes
- Security: return 202 for forgot password even if email not exists
Phase 4 Task 26/68 completed
2026-06-17 07:31:21 +08:00
Xiaoxia AI
0abfc98be0
feat(api): add dependency injection container and auth middleware
...
- Implement DependencyContainer for all repositories and use cases
- Create singleton pattern for repository instances
- Factory methods for all use cases (auth + workspace)
- Auth middleware: get_current_user with JWT verification
- Permission middleware: require_workspace_access/admin/owner
- Support optional authentication (get_current_user_optional)
- Integrate with PermissionChecker and QuotaChecker
Phase 4 Task 25/68 completed
2026-06-17 07:30:09 +08:00
Xiaoxia AI
381ffb4ee9
feat(api): add API route structure and endpoint definitions
...
- Create auth routes (register/login/logout/verify/password-reset)
- Create workspace routes (CRUD/members/subscription/quota)
- Define Pydantic request/response models
- Add comprehensive API documentation in docstrings
- Setup dependency injection placeholders
- Include all 18+ endpoints with proper HTTP methods
Phase 4 Task 24/68 completed
2026-06-17 07:27:35 +08:00