피드로 돌아가기
GoBadge Dynamic: From Module Stats to Universal Badges
Dev.toDev.to
Backend

Hardcoded Integration을 제거한 Universal JSON Badge Proxy 설계

GoBadge Dynamic: From Module Stats to Universal Badges

CinfiniteDev2026년 5월 25일1intermediate

Context

특정 Go 모듈 통계 기반의 3개 Hardcoded Endpoint로 운영된 초기 아키텍처의 한계 발견. 타 언어 및 플랫폼 확장성 부족으로 인한 서비스 범용성 결여 문제 직면.

Technical Solution

  • 특정 API 종속성을 제거한 Universal Proxy 기반의 Dynamic Endpoint 설계
  • URL Parameter를 통한 외부 JSON API Endpoint와 추출 대상 Key를 동적으로 매핑하는 추상화 계층 구현
  • Nested JSON 구조 처리를 위한 Dot Notation 기반의 데이터 파싱 로직 도입
  • 다중 값 추출을 위한 Value Parameter 중복 허용 및 사용자 정의 Separator 적용 구조 채택
  • Hex Color 및 Label Parameter를 통한 런타임 Badge 스타일링 제어 기능 추가

- 특정 데이터 소스에 종속된 기능을 범용 Proxy 구조로 전환하여 확장성 확보 여부 검토 - 외부 API 데이터 추출 시 Dot Notation을 통한 계층 구조 접근 방식 적용 고려 - 런타임 설정값(Color, Label 등)을 URL Parameter로 분리하여 Stateless한 렌더링 구조 설계

원문 읽기