핵심 기능 설계

도메인 관리 기능

  • 도메인 추가/삭제
  • 도메인 정규화 (http://, www. 자동 제거)
  • 중복 도메인 검증
  • 활성화/비활성화 토글
  • 자동 모니터링

  • GitHub Actions를 활용한 스케줄링 (매일 오전 9시, 오후 9시 KST)
  • Domainsduck API를 통한 실시간 도메인 상태 확인
  • 상태 변화 감지 (registered → available)
  • 메일링 시스템

  • Resend API를 통한 이메일 발송
  • 도메인이 사용 가능해지면 즉시 통지
  • 체크 결과 요약 이메일
  • 보안 설계

  • IP 기반 접근 제어 (로그인 없이 화이트리스트 방식)
  • CRON_SECRET를 통한 API 인증
  • 타이밍 공격(Timing Attack) 방지
  • 데이터베이스 설계

    Domainsduck API 사용 이유

    개발자 친화적

  • 간단한 REST API
  • JSON 응답으로 파싱 용이
  • API 키만으로 인증 완료
  • 무료 플랜 제공

  • 시간당 30회 무료 요청 (하루 2회 체크에 충분)
  • 신용카드 등록 불필요
  • 별도 계정 승인 과정 없음
  • Resend API 사용 이유

    개발자 친화적

  • TypeScript 네이티브 지원
  • React Email 템플릿 지원 (향후 확장 가능)
  • 무료 플랜 제공

  • 월 100통 무료
  • 신용카드 등록 불필요
  • 즉시 사용 가능
  • 이메일 서비스 호환

  • 스팸 필터 회피 최적화
  • Gmail, Outlook 등 주요 메일 서비스 호환
  • Github Actions 사용 이유

    무료 CRON 스케줄러

  • 별도 서버 없이 정기 작업 실행
  • Vercel Serverless Function은 CRON 기능 미제공 (유료 플랜만 가능)
  • 무료 플랜으로 월 2,000분 제공
  • 간편한 설정

  • YAML 파일로 스케줄 정의 (cron: '0 0,12 * * *')
  • GitHub Secrets로 안전한 환경 변수 관리
  • workflow_dispatch로 수동 실행 가능
  • 신뢰성

  • GitHub 인프라로 안정적 실행 보장
  • 실행 로그 자동 저장 및 확인 가능
  • 실패 시 재시도 로직 구현 용이