# FORMAT # ROADMAP ## Milestones/Features: ### 1. Infrastructure & Environment Setup Thiết lập cơ sở hạ tầng và môi trường cho dự án. * **Tasks:** * [X] Khởi tạo project Go và cấu hình module (Completed: 2025-04-25) * [X] Thiết lập Docker/Docker Compose (Completed: 2025-04-25) * [X] Cấu hình PostgreSQL cho dev/staging/prod (Completed: 2025-04-26) * [X] Thiết lập CI/CD với DroneCI (Completed: 2025-04-29) ### 2. Core Components Setup & API Infrastructure * **Tasks:** * [X] Create Folder Structure from 'architecture.md' * [X] Tạo base repository pattern * [X] Implement database connection pool (Tested: 2025-04-29) * [X] Health check endpoints (Tested: 2025-04-29) * [X] Setup config loader (Tested: 2025-04-29) * [X] Khởi tạo logging system * [X] Implement error handling strategy * [X] Define router structure * [X] Implement base middleware * [X] API documentation setup ### 3. User Registration Flow Xây dựng tính năng đăng ký người dùng và lưu trữ hồ sơ. * **Tasks:** * [ ] Thiết kế schema và repository cho `Profile` * [ ] Triển khai API `POST /profiles` và handler * [ ] Tích hợp upload ảnh lên S3 * [ ] Gửi email xác nhận đăng ký ### 4. Matching Engine Phát triển logic ghép đôi và lưu kết quả. * **Tasks:** * [ ] Xây dựng ubit/ubrick tính toán điểm và filter * [ ] Triển khai saga `MatchingTransaction` * [ ] Tạo và lưu `MatchOutcome` * [ ] Xây dựng batch job hoặc trigger real-time ### 5. Result Interaction Xây dựng giao diện và API cho kết quả match. * **Tasks:** * [ ] Tạo Result Page với HTMX * [ ] Triển khai `GET /results/{token}` * [ ] API `POST /results/select` và `POST /results/decline` * [ ] Cập nhật state trong `MatchOutcome` ### 6. Notifications & Gift Draw Gửi email kết quả và thực hiện quay thưởng. * **Tasks:** * [ ] Saga `ResultNotificationTransaction` – email kết quả * [ ] Saga `GiftAllocationTransaction` – quay thưởng và lưu `GiftAllocation` * [ ] Saga `GiftNotificationTransaction` – email trúng thưởng * [ ] Thiết kế và seed dữ liệu `Gift` ### 7. Admin Dashboard Xây dựng giao diện quản trị và báo cáo. * **Tasks:** * [ ] Implement auth endpoint `POST /admin/auth/login` * [ ] Reporting Dashboard – summary và báo cáo theo team * [ ] Campaign Management UI & API * [ ] Gift Management CRUD ### 8. QA, Testing & Monitoring Đảm bảo chất lượng và vận hành. * **Tasks:** * [ ] Viết unit/integration tests * [ ] Thiết lập monitoring và alert * [ ] Load testing ≥100 req/s ### 9. Deployment & Handover Triển khai lên môi trường production và bàn giao. * **Tasks:** * [ ] Build & deploy Docker containers lên Cloud * [ ] Cấu hình load balancer, CDN * [ ] Cập nhật README và hướng dẫn vận hành * [ ] Bàn giao tài liệu và training ---