cert-badge-renderer
@blockspoon/cert-badge-renderer
칼리지스 디지털 배지 또는 인증서를 HTML 또는 PNG로 렌더링할 수 있는 Node.js 기반 렌더링 도구입니다. Open API와 연결하거나 내부 렌더링 엔진으로 사용할 수 있도록 설계되었습니다.
✨ 주요 기능
- 인증서 또는 배지 JSON 데이터를 기반으로 HTML 렌더링
- 인증서 또는 배지를 이미지(png, base64)로 변환
- 인증서 조회 객체를 그대로 넘겨 변환 가능
⚡️ 설치 방법
npm install @blockspoon/cert-badge-renderer
📝 사용법 예제
1. 인증서 또는 배지 객체 기반으로 HTML 생성하기
import { generateAchievementHTML } from "@blockspoon/cert-badge-renderer/browser";
// achievement: https://developers.kolleges.net/docs/achievement_get#achievement-object
const html = await generateAchievementHTML(achievement, {
type: "certificate", // 또는 "badge"
size: 600, // 렌더링 크기 (px)
});
🧩 achievement 객체란?
cert-badge-renderer를 사용할 때 필요한 achievement 객체는 Kolleges Open API를 통해 조회할 수 있는 인증서 데이터입니다. 아래는 achievement 객체의 기본 구조 예시입니다:
{
"id": 1,
"certificate_number": "CERT-001",
"user": {
"name": "홍길동",
"email": "hong@example.com"
},
"achievementForm": {
"name": "React 수료증",
"description": "React 기본 과정 수료",
"achievementCertificateDesign": {
/* 디자인 데이터 */
},
"achievementBadgeDesign": {
/* 배지 데이터 */
}
}
}
전체 필드 상세 설명은 인증서 단건 조회, 인증서 다건 조회 문서에서 확인할 수 있습니다.
2. 디자인 객체 기반으로 HTML 생성하기
import { generateDesignHTML } from "@blockspoon/cert-badge-renderer/browser";
// certificateDesign: https://developers.kolleges.net/docs/design_get_certificate#certificatedesign-object
// badgeDesign: https://developers.kolleges.net/docs/design_get_badge#badgedesign-object
const html = await generateDesignHTML(certificateDesign || badgeDesign, {
size: 600, // 렌더링 크기 (px)
});
🧩 certificateDesign 객체란?
cert-badge-renderer
를 사용할 때 필요한 certificateDesign
또는 badgeDesign
객체는
Kolleges Open API를 통해 조회할 수 있는 "템플릿 디자인 데이터"입니다.
아래는 certificateDesign
객체의 기본 구조 예시입니다:
{
"id": 165,
"name": "sandbox-certificate-v1",
"main_color": "#7657FA",
"sub_color": "#CABDFF",
"extra_color_1": null,
"extra_color_2": null,
"template_type": "NewCertificateType7Single",
"layout_json": [
/* 컴포넌트 위치/스타일 정보 */
],
"created_at": "2025-04-09T18:37:39.696Z",
"updated_at": "2025-04-09T18:37:39.696Z",
"club": {
"domain": "sandbox",
"customData": []
}
}
전체 필드 상세 설명은 증명서 디자인 다건 조회, 증명서 디자인 단건 조회, 배지 디자인 다건 조회, 배지 디자인 단건 조회 문서에서 확인할 수 있습니다.
🔐 API Key 사용 방식
패키지 사용 시 서버 요청에는 API Key가 필요합니다.
자세한 정보는 https://developers.kolleges.net 참고 부탁드립니다.
📣 기여 및 문의
문의는 support@kolleges.net으로 보내주세요!