How hoangoanh100720-bot/vietnamfootball works
Đây là ứng dụng người hâm mộ đội tuyển Việt Nam, với app Expo tiêu thụ API Express. Luồng chính đi từ các màn hình trận đấu, đội hình, cầu thủ và AI qua API đến các nghiệp vụ backend; dữ liệu trận đấu trực tiếp còn được cập nhật qua socket hoặc polling dự phòng. Các nhánh đáng kể khác gồm đăng nhập, thống kê/điểm cầu thủ, tìm kiếm tri thức lai và thu thập nội dung. Các đường nối dùng bằng chứng README và controller được cung cấp; wiring của những module chưa được trích dẫn được lược bỏ.
Main entry points: index.ts API routes · database.ts Cơ sở dữ liệu · app Màn hình app · search.service.ts Tìm kiếm lai
Components 24
Ứng dụng di động
- Màn hình app
mobile/app - API client
mobile/src/api/client.ts - Live score hook
mobile/src/hooks/useLiveScore.ts - Socket client
mobile/src/services/socket.ts - Thông báo app
mobile/src/services/notifications.ts
API và nghiệp vụ
- API server
backend/src/server.ts - API routes
backend/src/routes/index.ts - Xác thực
backend/src/modules/auth - Trận đấu
backend/src/modules/matches - Đội hình & cầu thủ
backend/src/modules/squad - Đội tuyển & giải đấu
backend/src/modules/team - Thống kê
backend/src/modules/stats - Điểm cầu thủ
backend/src/services/rating/rating.service.ts
AI và tri thức
- Tìm kiếm lai
backend/src/modules/search/search.service.ts - Trợ lý chat
backend/src/services/chat/chat.service.ts - AI dự đoán
backend/src/modules/ai - Thu thập nội dung
backend/src/services/crawl - Embedding
backend/src/services/embedding.service.ts
Dữ liệu và realtime
- Cơ sở dữ liệu
backend/src/config/database.ts - Socket service
backend/src/services/socket.service.ts - Live poll job
backend/src/jobs/livePoll.job.ts
Other components
- Người hâm mộ
- Google Gemini
- Dịch vụ push
Connections 33
- Người hâm mộ → Màn hình app: dùng
- Màn hình app → API client: gọi API
- API client → API server: gửi request
- API server → API routes: chuyển tiếp
- API routes → Xác thực: định tuyến
- API routes → Trận đấu: định tuyến
- API routes → Đội hình & cầu thủ: định tuyến
- API routes → Đội tuyển & giải đấu: định tuyến
- API routes → Thống kê: định tuyến
- API routes → Điểm cầu thủ: định tuyến
- API routes → Tìm kiếm lai: định tuyến
- API routes → Trợ lý chat: định tuyến
- API routes → AI dự đoán: định tuyến
- Xác thực → Cơ sở dữ liệu: đọc/ghi
- Thống kê → Cơ sở dữ liệu: đọc
- Điểm cầu thủ → Cơ sở dữ liệu: đọc/ghi
- Trợ lý chat → Tìm kiếm lai: tìm tri thức
- Tìm kiếm lai → Embedding: nhúng truy vấn
- Embedding → Google Gemini: tạo vector
- Tìm kiếm lai → Cơ sở dữ liệu: truy vấn chỉ mục
- Thu thập nội dung → Embedding: tạo embedding
- Thu thập nội dung → Cơ sở dữ liệu: lưu tài liệu
- AI dự đoán → Google Gemini: yêu cầu dự đoán
- Trợ lý chat → Google Gemini: tạo câu trả lời
- Màn hình app → Live score hook: hiển thị tỷ số
- Live score hook → Socket client: nhận cập nhật
- Live score hook → API client: poll dự phòng
- Socket client → Socket service: kết nối
- Live poll job → Socket service: phát tỷ số
- Socket service → Socket client: đẩy cập nhật
- Màn hình app → Thông báo app: thiết lập thông báo
- Thông báo app → API server: đăng ký thiết bị
- Dịch vụ push → Thông báo app: gửi thông báo