Tài liệu này dành cho người vận hành. Nội dung gồm cách ứng dụng chạy mỗi ngày, các việc nền tự động, cách dữ liệu được bảo vệ và những điểm cần theo dõi.
Chạy hằng ngày
IGA Social chạy trong một container Docker (Node 20, bản standalone của Next.js). Dữ liệu và media nằm ở các thư mục gắn ngoài container, nên dựng lại image không làm mất dữ liệu. Ứng dụng không dùng cơ sở dữ liệu, mọi thứ lưu trong các tệp JSON.
Việc nền tự động
Worker chạy mỗi 60 giây và đảm nhận các việc sau.
| Việc | Chu kỳ |
|---|---|
| Quét hộp thư clip, đưa clip mới vào hàng đợi dựng (tối đa 2 việc cùng lúc) | Mỗi phút |
| Đăng bài đã hẹn giờ, tính theo giờ Việt Nam | Khi tới giờ |
| Lấy số liệu tương tác của bài đã đăng | Mỗi 6 giờ |
| Đồng bộ danh mục sản phẩm | Mỗi ngày |
| Nhắc các dịp theo lịch âm sắp tới | Tự động |
| Dọn bài quá hạn và tự lập kế hoạch tuần mới | Tự động |
Khi một việc lỗi, hệ thống thử lại có giới hạn thay vì lặp mãi, đồng thời ghi trạng thái lên thẻ để người dùng thấy.
Dữ liệu và sao lưu
- Ghi nguyên tử. Tệp JSON được ghi ra tệp tạm rồi đổi tên, nên mất điện giữa chừng không làm hỏng tệp chính.
- Đọc qua bộ nhớ đệm. Giao diện không phải đọc đĩa ở mỗi lần mở.
- Sao lưu hằng đêm. Dữ liệu được sao lưu tự động mỗi đêm và có thêm một bản sao ở nơi lưu khác. Tệp media không nằm trong bản sao lưu này.
- Dựng lại được. Ảnh gốc luôn được giữ nguyên nên bản hiển thị web có thể tạo lại bất cứ lúc nào.
Bảo mật
- Đăng nhập tập trung. Dùng chung dịch vụ xác thực với các ứng dụng khác của cửa hàng. Phiên đăng nhập được ký HMAC và có hiệu lực 14 ngày.
- Bí mật không xuống trình duyệt. Cookie, mật khẩu và mã truy cập của tài khoản chỉ nằm phía máy chủ, giao diện chỉ nhận cờ có hoặc không.
- Tiện ích Chrome. Có mã nhập riêng và chỉ được gọi chéo nguồn từ chính tiện ích.
- Nội dung công khai. Bài SEO chỉ hiện sau khi duyệt và được làm sạch HTML.
- Luật cho AI. Hướng dẫn và bộ lọc chặn lời hứa chắc chắn về phong thủy, chặn giá trong caption công khai và kiểm tra trùng với các bài cũ.
Điểm cần theo dõi
- Quyền truy cập Facebook và YouTube có thể hết hạn hoặc bị thu hồi. Khi đó việc đăng báo lỗi trên thẻ và cần cấp lại quyền.
- Tài khoản Facebook bị checkpoint hoặc yêu cầu 2FA qua email vẫn cần người xử lý.
- Kênh TikTok đang chờ TikTok duyệt ứng dụng để đăng công khai.