KB-41D3

NĐ-LARK-PG-DIR — Kế hoạch ngắn gọn bắt đầu hướng Lark → PG → Directus → PDF/Nuxt

3 min read Revision 1
larkpgdirectuspdfplangpt

NĐ-LARK-PG-DIR — Kế hoạch ngắn gọn bắt đầu hướng Lark → PG → Directus → PDF/Nuxt

Trạng thái: DRAFT khởi động Tác giả: Incomex Hội đồng AI / GPT Ngày: 2026-04-12 Mục tiêu: Chốt nhanh hướng triển khai mới theo phạm vi hẹp, khả thi và tạo giá trị sớm.


1. Quyết định nền

1.1. Chuyển dữ liệu có chọn lọc từ Lark sang PG

Không đặt mục tiêu đọc toàn bộ Lark. Chỉ chọn một số dữ liệu cố định, ổn định, có ích cho đầu ra tài liệu.

1.2. Luồng xử lý mới

Luồng mới được chuẩn hóa như sau:

Lark → PG → Directus → PDF app/file maker (qua API) → Nuxt

Luồng này chạy song song với luồng hiện tại:

Directus → Nuxt

Luồng cũ vẫn phục vụ hiển thị dữ liệu hiện có. Luồng mới chỉ phục vụ render file/PDF từ dữ liệu được lấy chọn lọc từ Lark.


2. Mục tiêu giai đoạn đầu

Chưa làm generic connector toàn hệ. Chỉ làm một pipeline nhỏ, khép kín, chạy được thật:

  1. chọn 1 đầu ra PDF cụ thể,
  2. chọn 1 table nguồn chính trong Lark,
  3. lấy một bộ field cố định,
  4. đưa vào PG,
  5. cho Directus đọc,
  6. gọi một PDF app/file maker để sinh file,
  7. Nuxt hiển thị link/kết quả file render.

3. Phương án khả thi nhất

3.1. Reader

Dùng Cổng 2 làm tuyến đọc chính từ Lark vì đây là cổng ổn định nhất cho read-only và batch.

3.2. PG

PG dùng để:

  • lưu raw records,
  • lưu bảng chuẩn hóa phục vụ render,
  • theo dõi trạng thái job và output file.

3.3. Directus

Directus dùng để:

  • đọc dữ liệu chuẩn hóa từ PG,
  • cung cấp API cho PDF app/file maker,
  • quản lý metadata file render nếu cần.

3.4. PDF app/file maker

Chọn một app nhẹ, nhận dữ liệu qua API, sinh file PDF theo template cố định.

Yêu cầu đầu ra:

  • có layout cố định,
  • có vùng chữ ký / đóng dấu sẵn,
  • trả về file hoặc đường dẫn file để Nuxt hiển thị.

4. Câu hỏi cần chốt tiếp theo

4.1. Chọn loại tài liệu nào làm đầu tiên?

Ưu tiên loại tài liệu:

  • có giá trị nghiệp vụ rõ,
  • ít phụ thuộc workflow phức tạp,
  • field đầu ra tương đối cố định.

4.2. Chọn table nguồn nào trong Lark?

Chỉ nên chọn 1 table nguồn chính ở vòng đầu.

4.3. Bộ field cố định gồm những gì?

Chỉ giữ các field thật sự dùng để render file.

4.4. PDF app/file maker nào phù hợp?

Tiêu chí chọn:

  • nhẹ,
  • gọi API đơn giản,
  • render HTML/template ra PDF ổn,
  • chèn nền/chữ ký/con dấu sẵn được.

5. Các bước lớn để bắt đầu

  1. Chốt loại tài liệu PDF đầu tiên.
  2. Chốt table nguồn và field whitelist từ Lark.
  3. Thiết kế schema PG tối giản cho job này.
  4. Dùng Cổng 2 kéo dữ liệu có chọn lọc về PG.
  5. Cho Directus đọc bảng chuẩn hóa.
  6. Kết nối PDF app/file maker qua API.
  7. Render thử với dữ liệu thật.
  8. Cho Nuxt hiển thị kết quả file render.

6. Kết luận ngắn

Hướng này khả thi hơn nhiều so với mục tiêu hiểu toàn bộ Lark trước. Đây là một vertical slice rõ ràng, tạo giá trị sớm, và vẫn mở đường cho việc mở rộng dần về sau.