Skip to main content

Kanban Board - Phân chia công việc (Hackathon 1.5h)

Nguyên tắc tối giản

⏱️ Chỉ có 1.5 giờ — Mỗi người làm 3 task, tổng 9 task. Không WebSocket, không message queue, không CI/CD, không testing riêng. Chỉ REST API đơn giản, polling để cập nhật trạng thái.

Dự án được chia thành 3 module độc lập, mỗi người phụ trách 1 module. Các module giao tiếp qua API contract đã thống nhất trước.

Tổng quan phân chia


👤 Person A — Frontend (Chat UI)

🔨 To Do

Frontend1. Chat UI cơ bản

React component: ô nhập tin nhắn + danh sách messages. Hiển thị bubble user (phải) và AI (trái). Dùng state đơn giản, không cần phức tạp.

⏱️ ~40 phút

Frontend2. Gọi REST API gửi/nhận tin nhắn

POST /api/chat gửi message, nhận response từ AI. Hiển thị loading spinner khi chờ. Xử lý error cơ bản (try-catch, hiển thị thông báo lỗi).

⏱️ ~25 phút

Frontend3. Giao diện UI Review (Giả lập PR)

Khi AI tự động resolve, hiển thị một giao diện giống như Git Diff để bộ phận CSKH review (Giả lập PR). Hiển thị giá trị DB DB trướcsau khi thay đổi, kèm nút Approve / Reject.

⏱️ ~25 phút

🚀 In Progress

Chưa có task nào đang thực hiện

✅ Done

Chưa có task nào hoàn thành

👤 Person B — AI Agent & Knowledge Base

🔨 To Do

AI/ML1. Chuẩn bị Knowledge Base (JSON)

Tạo file knowledge_base.json chứa 5-10 case mẫu. Mỗi case gồm: keywords, problem, solution, db_changes. Không cần vector DB — dùng keyword matching đơn giản.

⏱️ ~20 phút

AI/ML2. AI Agent xử lý tin nhắn

Hàm analyze_message(message): gọi LLM API (OpenAI/Claude) với prompt chứa context từ KB. Prompt yêu cầu LLM trả về JSON: {intent, matched_case, solution, confidence, db_changes}.

⏱️ ~40 phút

AI/ML3. Tra cứu KB + format kết quả

Hàm search_kb(message): tìm case tương tự bằng keyword matching. Truyền kết quả vào prompt LLM để AI đề xuất giải pháp chính xác hơn. Trả về structured response cho Backend.

⏱️ ~30 phút

🚀 In Progress

Chưa có task nào đang thực hiện

✅ Done

Chưa có task nào hoàn thành

👤 Person C — Backend & Giả lập PR

🔨 To Do

Backend1. REST API server

Setup Express.js hoặc FastAPI. Một endpoint POST /api/chat xử lý nhận message và endpoint phụ để quản lý trạng thái Diff: POST /api/resolve-pr. CORS enabled.

⏱️ ~25 phút

Backend2. Xử lý logic Giả lập Pull Request

Khi AI trả về confidence > 0.8 + có db_changes: thay vì dùng GitHub API, backend record mock PR vào file JSON và trả before_value, after_value ngược lại cho Frontend để Frontend render giao diện Review.

⏱️ ~40 phút

Backend3. Xử lý case chuyển tiếp CSKH

Khi AI trả về confidence ≤ 0.8 hoặc không match KB: trả response "đã chuyển đội CSKH". Ghi log case mới vào file JSON (thay cho DB) để demo luồng fallback.

⏱️ ~25 phút

🚀 In Progress

Chưa có task nào đang thực hiện

✅ Done

Chưa có task nào hoàn thành


API Contract (Tối giản)

Chỉ cần 2 endpoint cho Frontend ↔ Backend, và 1 function call cho Backend → AI:

InterfaceFrom → ToKiểuMô tả
POST /api/chatFrontend → BackendRESTGửi message, nhận AI response + diff để review
POST /api/resolve-prFrontend → BackendRESTApprove hoặc Reject giả lập PR
analyze_message()Backend → AI AgentFunction callGọi trực tiếp (cùng server hoặc import module)
search_kb()AI Agent → KBFunction callĐọc file JSON, keyword matching