Skip to content

Channel adapters: PRD ​

Domain Notifications · function channel-adapters · mã story NOTIF-CH · SDD · Tests

Hiện trạng: chưa xây như một tầng. Có đúng một kênh, email, gọi thẳng.

Mục tiêu ​

Một sự kiện nghiệp vụ được đưa tới người nhận qua một hay nhiều kênh (email, in-app, có thể Zalo hay push sau này) mà mã domain không phải biết kênh nào đang bật.

User story ​

NOTIF-CH-01: một cổng, nhiều kênh ​

Là kỹ sư, tôi muốn gọi một hàm notify(kind, userId, data) và để tầng kênh quyết định gửi qua đâu, để thêm kênh mới không phải sửa mọi chỗ gọi.

  • Given loại event_reminder bật cho email và in-app When domain gọi cổng Then mỗi kênh nhận đúng một tin, mỗi tin một dòng ở sổ gửi.

NOTIF-CH-02: nhà cung cấp email duy nhất là Cloudflare Email Service ​

  • Given ai đó đề nghị thêm Resend, SendGrid hay SMTP When rà PR Then từ chối (LUẬT EMAIL). Adapter email chỉ bọc binding EMAIL.

NOTIF-CH-03: một kênh hỏng không chặn kênh khác ​

  • Given email trả lỗi When tin cũng bật cho in-app Then in-app vẫn ghi; lỗi email được ghi sổ, không ném ra domain.

NOTIF-CH-04: kênh của thương hiệu bên thứ ba ​

  • Given một kênh như Zalo When cần màu hay biểu tượng nhận diện Then dùng token --color-vendor-*, không rải hex (LUẬT MÀU).

Tài liệu nội bộ nền tảng Conan School.