---
title: "IGA Social"
url: https://phatdev.net/vi/projects/iga-social
lang: vi
alternate:
  en: https://phatdev.net/en/projects/iga-social
markdown: https://phatdev.net/vi/projects/iga-social.md
---

# IGA Social

> Ứng dụng nội bộ soạn nội dung marketing đá quý: lịch đăng Facebook cả tuần chỉ với một nút, caption AI có luật và có rào chắn, video dọc dựng từ clip gốc, đăng YouTube, cùng kho sản phẩm và tài khoản đăng bài. AI soạn nháp, người duyệt quyết định.

- Vai trò: Sản phẩm · Full-stack · Nội dung AI
- Trạng thái: Đang vận hành nội bộ hằng ngày
- Công nghệ: Next.js 15, React 19, Docker, FFmpeg, Playwright
- Tài liệu và changelog: https://phatdev.net/docs/iga-social
- Tất cả dự án: https://phatdev.net/vi/projects.md

## Thông tin dự án

- Vai trò: Thiết kế, phát triển, vận hành
- Nền tảng: Next.js 15 trong Docker, đăng nhập một lần qua dịch vụ xác thực chung
- Dữ liệu: Tệp JSON trong một thư mục, không cần cơ sở dữ liệu; sao lưu hằng đêm
- Đầu ra: Bài Facebook, Reels dọc 1440x2560, video YouTube, trang giới thiệu sản phẩm

## Số liệu

- 303: clip video đã dựng xong trong kho
- 293: clip đã đưa lên YouTube
- 4.556: sản phẩm trong danh mục đồng bộ từ web bán hàng
- 77: điểm cuối API trong ứng dụng

## Điểm nổi bật

- **Lịch tuần soạn sẵn, người duyệt quyết định**: Một nút tạo 7 bài cho cả tuần, xoay vòng sản phẩm, góc viết và giọng văn, tự gắn các dịp âm lịch. Mỗi bài hiện như một thẻ Facebook để duyệt, sửa hoặc viết lại trước khi hẹn giờ; chế độ tự đăng mặc định tắt.
- **Caption AI có luật và có rào chắn**: Luật viết cấm cam kết công dụng, giữ phong thủy ở mức nhẹ và loại văn mẫu sáo rỗng. Trước khi đăng, bộ chặn giá giữ caption công khai sạch giá, còn bước kiểm trùng hỏi lại nếu bài giống bài vừa đăng.
- **Từ clip điện thoại đến Reels và YouTube**: Clip gốc được dựng thành video dọc có đoạn mở, thẻ thông số, nhạc nền và đoạn kết, rồi qua ba lớp kiểm tra trước khi gửi đi. Mô tả YouTube lắp từ dữ liệu thật của sản phẩm, AI không được tự thêm chi tiết.
- **Danh mục lớn, chỉ đưa vào kho khi cần**: Danh mục phản chiếu sản phẩm còn hàng của web bán hàng mà chưa tải ảnh. Khi chọn một món để lên nội dung, hệ thống mới tải ảnh, tạo sản phẩm và trang giới thiệu công khai có dữ liệu có cấu trúc cho tìm kiếm.
- **Tài khoản đăng bài quản lý bằng tiện ích Chrome**: Tiện ích lấy phiên đăng nhập và hồ sơ Facebook, hỗ trợ đăng nhập nhanh kèm mã 2FA. Thông tin nhạy cảm không bao giờ trả về trình duyệt, và máy chủ chỉ nhận lời gọi từ chính tiện ích.

## Phân tích chi tiết

### Bài toán

Một cửa hàng đá quý cần đăng bài đều đặn: ảnh sản phẩm, video ngắn, caption, bài trên Facebook và YouTube. Công việc này rải ở nhiều nơi. Clip quay bằng điện thoại nằm trong máy hoặc nhóm chat, thông tin sản phẩm nằm trên web bán hàng, caption viết tay mỗi lần một kiểu. Khi để AI viết tự do, nó dễ bịa chi tiết không có thật hoặc hứa hẹn công dụng phong thủy quá đà. Đó là kiểu nội dung dễ bị Facebook gỡ và làm giảm uy tín của cửa hàng.

### Giải pháp

IGA Social gom toàn bộ quy trình vào một ứng dụng web nội bộ. Dữ liệu sản phẩm lấy từ web bán hàng, clip gốc đi vào một hộp thư đến, AI chỉ được viết trong khuôn có luật, còn quyết định đăng bài luôn thuộc về người duyệt. Ứng dụng chạy trong Docker và lưu dữ liệu bằng tệp JSON trong một thư mục, nên việc sao lưu và khôi phục rất gọn.

#### Lịch tuần Facebook
Một nút tạo 7 bài cho cả tuần. Hệ thống xoay vòng các sản phẩm ít được đăng nhất, luân phiên 7 góc viết (sản phẩm, kiến thức, mẹo, hỏi đáp, hậu trường, quà tặng, phong thủy) và ba giọng văn. Các dịp âm lịch như mùng 1, rằm, Phật Đản, Vu Lan được gắn sẵn kèm gợi ý góc viết. Mỗi bài hiện như một thẻ Facebook để người duyệt chọn Duyệt, Sửa, Viết lại hoặc Bỏ. Chế độ tự đăng mặc định tắt.

#### Caption AI có kiểm soát
Luật viết giữ phong thủy ở mức nhẹ, cấm cam kết công dụng và loại các cụm sáo rỗng đặc trưng của văn AI. Sau khi AI viết, một bước lọc bằng quy tắc kiểm tra lại. Ở khâu đăng, bộ chặn giá bảo đảm caption công khai không lộ giá. Hệ thống còn kiểm trùng: nếu cùng sản phẩm vừa được đăng trong vài ngày gần đây, hoặc phần mở bài giống một bài cũ, người dùng sẽ được hỏi lại trước khi đăng.

#### Video từ clip gốc
Clip dọc đi qua hàng đợi dựng gồm đoạn mở, thẻ thông số, nhạc nền và đoạn kết, xuất ở 1440x2560 H.264. Giọng nói trong clip được dò để quyết định giữ hay thay bằng nhạc. Mỗi video qua ba lớp kiểm tra (lúc dựng, so với thông số hiện tại, dò lại từng tệp) trước khi gửi đi. Clip thiếu thông tin được gắn cờ để bổ sung và không lọt vào lô gửi.

#### YouTube và Fanpage
Clip được đưa lên YouTube với mô tả lắp từ dữ liệu thật của sản phẩm, AI không được tự thêm chi tiết. Bài và Reels lên Fanpage qua API chính thức, kèm bình luận có liên kết sản phẩm. Nếu bình luận lỗi, hệ thống tự thử lại.

#### Kho sản phẩm và ảnh
Danh mục phản chiếu sản phẩm còn hàng của web bán hàng và chia theo nhóm ưu tiên. Chỉ khi một món được chọn để lên nội dung, hệ thống mới tải ảnh, chuẩn hoá sang WebP và tạo trang giới thiệu công khai có dữ liệu có cấu trúc cho tìm kiếm. Ảnh gốc luôn được giữ lại để đăng.

#### Tài khoản và tiện ích Chrome
Kho tài khoản đăng bài lưu trạng thái từng tài khoản, còn thông tin đăng nhập chỉ nằm phía máy chủ. Việc quét nhóm Facebook xoay vòng giữa các tài khoản để không dồn vào một nơi, rồi AI xếp hạng để người dùng tự quyết định tham gia nhóm nào. Tiện ích Chrome lấy phiên đăng nhập, hồ sơ và hỗ trợ đăng nhập nhanh kèm mã 2FA.

### Kết quả

- 303 clip đã dựng xong trong kho, trong đó 293 clip đã có trên YouTube.
- 4.556 sản phẩm trong danh mục, đồng bộ hằng ngày từ web bán hàng.
- Mỗi tuần có sẵn 7 bài nháp để duyệt, thay cho việc viết tay từng bài.
- Mô tả YouTube và thông số trên video lấy từ dữ liệu thật của sản phẩm nên nhất quán giữa các kênh.
- Ứng dụng có 77 điểm cuối API, đang được dùng nội bộ hằng ngày.

### Vận hành tin cậy

- **Người duyệt quyết định.** Bài mới luôn ở trạng thái chờ duyệt, tự đăng chỉ chạy khi được bật.
- **Bí mật nằm phía máy chủ.** Cookie và mật khẩu tài khoản không bao giờ trả về trình duyệt, giao diện chỉ nhận cờ có hoặc không.
- **Ghi dữ liệu an toàn.** Mỗi lần ghi đi qua 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.
- **Sao lưu hằng đêm.** Dữ liệu được sao lưu mỗi đêm, kèm một bản sao ở nơi lưu khác. Riêng tệp media không nằm trong bản sao này.
- **Việc nền có giới hạn.** Mỗi lần worker chạy, việc lỗi chỉ được thử lại có giới hạn và trạng thái hiện trên thẻ để người dùng thấy.
- **Đăng nhập tập trung.** Dùng chung dịch vụ xác thực của các ứng dụng nội bộ, hỗ trợ mã OTP, phiên đăng nhập có hiệu lực 14 ngày.

### So sánh với công cụ phổ biến

| Tính năng | IGA Social | Meta Business Suite | Buffer | Canva |
|---|---|---|---|---|
| Hẹn giờ đăng Facebook | ✓ | ✓ | ✓ | ~ |
| Đăng đồng thời nhiều mạng xã hội | ~ (Facebook, YouTube) | ~ (Facebook, Instagram) | ✓ | ~ |
| Tự soạn lịch tuần theo sản phẩm và dịp âm lịch | ✓ | ✗ | ✗ | ✗ |
| Caption AI theo luật ngành, chặn giá và cam kết công dụng | ✓ | ✗ | ~ (trợ lý AI chung) | ~ |
| Dựng video dọc từ clip gốc kèm thẻ thông số | ✓ | ✗ | ✗ | ✓ |
| Đồng bộ danh mục từ web bán hàng | ✓ | ✗ | ✗ | ✗ |
| Thiết kế đồ hoạ tự do | ✗ | ✗ | ✗ | ✓ |
| Dùng cho nhiều khách hàng, nhiều người cộng tác | ✗ | ✓ | ✓ | ✓ |

> IGA Social không thay Meta Business Suite ở mảng thống kê quảng cáo, và không thay Canva ở thiết kế tự do. Công cụ mạnh ở một việc hẹp: biến dữ liệu sản phẩm và clip có sẵn của một cửa hàng đá quý thành bài đăng đúng luật, chạy trên hạ tầng riêng để dữ liệu nằm trong tay chủ cửa hàng.
