hrms-edm/Services/server/README.md
2023-12-04 17:19:18 +07:00

2.6 KiB

EDM Backend API

Enterprise Document Management (EDM) ส่วน backend

ส่วนประกอบ

  • Node.js (TypeScript) และ Express เป็น Framework สำหรับการพัฒนาหลัก
  • pnpm เป็น package manager
  • Web API Doc สร้าง Open API Spec ด้วย tsoa
  • Library Document ใช้ TypeDoc
  • Minio สำหรับเก็บไฟล์ มีการใช้ presign url สำหรับ upload/download ทำให้รองรับโหลดได้มากตามความสามารถของ MiniO
  • Keycloak ทำ Single Sign On เพื่อ integrate กับระบบอื่น
  • Elasticsearch สำหรับการค้นหาเอกสารภาษาไทย
  • Attachment Processor สำหรับดึงข้อความเพื่อทำ Index สำหรับ Elasticsearch
  • RabbitMQ ใช้ Bucket Notification ของ MiniO ส่งแจ้งเตือนเมื่อมีเอกสารใหม่จะต้องทำ Index ทำงานเป็น คิวเพื่อทำให้รับโหลดเอกสารได้มากยิ่งขึ้น เอกสารที่ทำผ่าน MiniO ก็จะถูกทำ Index โดยที่ Application ไม่ต้องเขียนการจัดการพิเศษ

การเรียกใช้ผ่าน Service Account

จำเป็นต้องตั้งค่า Keycloak เพื่อให้สามารถขอ Token โดยใช้ Secret Key ที่ได้รับ ผ่านทาง https://edm-id.frappet.synology.me/realms/EDM/protocol/openid-connect/token ดังนี้ image

สิทธิในจัดการ

การจัดการสามารถตั้งค่าได้โดยใช้ ENV ที่มีชื่อว่า MANAGEMENT_ROLE ให้ตรงกับที่ตั้งค่าใน Keycloak อีกที

Note