| Ngày tạo | 2026-09-07 |
Quản lý tài khoản người dùng đăng nhập vai trò phiên làm việc xác minh. Chạy nội bộ các worker hàng đợi email/SMS — tiêu thụ từ RabbitMQ và gọi các module EMAIL/SMS để gửi
Database: auth_db | Tech: NestJS,Better Auth,Drizzle ORM,PostgreSQL,RabbitMQ (amqplib)
Ghi nhật ký gửi SMS theo dõi và lưu trữ lịch sử kiểm toán
Database: sms_db | Tech: NestJS,Drizzle ORM,PostgreSQL,Twilio
Gửi thông báo email quản lý mẫu và lưu trữ lịch sử kiểm toán. Cung cấp API gửi email (mẫu SendGrid/SMTP) — được worker hàng đợi email của AUTH sử dụng
Database: email_db | Tech: NestJS,Drizzle ORM,PostgreSQL,SendGrid/SMTP
Quản lý tuyển dụng toàn diện với 3 vai trò: Ứng viên HR Nhà tuyển dụng
Database: recr_db | Tech: NestJS,Drizzle ORM,PostgreSQL,Elasticsearch,RabbitMQ
Ví điện tử cho thanh toán nạp tiền rút tiền và các giao dịch tài chính trong nền tảng tuyển dụng
Database: wallet_db | Tech: NestJS,Drizzle ORM,PostgreSQL,RabbitMQ
Ghi nhật ký tập trung sự kiện — nhận sự kiện nhật ký từ tất cả dịch vụ qua RabbitMQ lưu trữ trong OpenSearch để tìm kiếm toàn văn phân tích và bảng điều khiển
Database: opensearch | Tech: NestJS,RabbitMQ (amqplib),OpenSearch (@opensearch-project/opensearch)
Tải lên tải xuống liệt kê quản lý thư mục phân quyền và quản lý vòng đời tệp với local filesystem. Hỗ trợ thao tác hàng loạt sao chép/di chuyển tệp kiểm soát truy cập và hạn ngạch lưu trữ
Database: file_db | Tech: NestJS,Drizzle ORM,PostgreSQL,Multer (local upload),fs (local filesystem)
| Từ | Đến | Sự kiện | Giao thức | Mô tả |
|---|---|---|---|---|
| AUTH | LOG | auth.event.logged | RabbitMQ | AUTH đăng phát bất kỳ sự kiện xác thực nào (đăng nhập, đăng xuất, đăng ký, đổi mật khẩu) đến Logger |
| SMS | LOG | sms.event.logged | RabbitMQ | SMS đăng phát sự kiện gửi (đã gửi, đã nhận, thất bại) đến Logger |
| AUTH | verification.email.requested | RabbitMQ | AUTH đăng phát khi người dùng yêu cầu xác minh email | |
| AUTH | verification.email.resent | RabbitMQ | AUTH đăng phát khi người dùng gửi lại email xác minh (giới hạn tốc độ) | |
| AUTH | verification.email.delivered | Webhook | EMAIL xác nhận trạng thái gửi lại cho AUTH | |
| AUTH | password.reset.email.requested | RabbitMQ | AUTH đăng phát khi người dùng yêu cầu đặt lại mật khẩu qua email | |
| AUTH | SMS | password.reset.sms.requested | RabbitMQ | AUTH đăng phát khi người dùng yêu cầu đặt lại mật khẩu qua SMS |
| AUTH | invitation.email.requested | RabbitMQ | AUTH đăng phát khi quản trị viên mời thành viên vào tổ chức | |
| AUTH | invitation.email.resent | RabbitMQ | AUTH đăng phát khi quản trị viên gửi lại lời mời | |
| LOG | email.event.logged | RabbitMQ | EMAIL đăng phát sự kiện gửi email (đã gửi, đã nhận, thất bại) đến Logger | |
| RECR | application.submitted | RabbitMQ | RECR đăng phát khi ứng viên nộp đơn ứng tuyển | |
| RECR | interview.scheduled | RabbitMQ | RECR đăng phát khi phỏng vấn được lên lịch | |
| RECR | offer.sent | RabbitMQ | RECR đăng phát khi thư lời mời được gửi | |
| RECR | LOG | recruitment.event.logged | RabbitMQ | RECR đăng phát sự kiện tuyển dụng (đơn ứng tuyển, phỏng vấn, lời mời) đến Logger |
| WALLET | RECR | wallet.payment.completed | RabbitMQ | WALLET đăng phát khi thanh toán cho đăng tin tuyển dụng hoặc tin nổi bật hoàn tất |
| WALLET | LOG | wallet.event.logged | RabbitMQ | WALLET đăng phát sự kiện ví (nạp tiền, rút tiền, chuyển khoản, thanh toán) đến Logger |
| AUTH | WALLET | user.registered | RabbitMQ | AUTH đăng phát khi người dùng mới đăng ký, WALLET tạo ví |
| FILE | LOG | file.event.logged | RabbitMQ | FILE đăng phát sự kiện truy cập tệp tin (xem, tải xuống, sửa, xóa) đến Logger để kiểm toán |
| FILE | FILE | file.deleted | RabbitMQ | FILE đăng phát khi tệp tin bị xóa mềm, FileWorker tiêu thụ để xóa vật lý trên S3 |
| FILE | FILE | file.temp_cleanup | RabbitMQ | FILE đăng phát khi tệp tin tạm hết hạn bị dọn dẹp, FileWorker tiêu thụ để xóa vật lý trên S3 |