System Architecture

카페 자동 발행 시스템 구조 문서

관리자 홈

시스템 파이프라인 흐름도

naver_analytics (Django) server (Node.js) C# 에이전트 ┌─────────────────────┐ ┌──────────────────────┐ ┌─────────────────────┐ │ 에이전트 엑셀 │ .xlsx │ admin/agent-config │ API │ 카페 글 자동발행 │ │ 발급 (Modal) │─────→│ /upload (MongoDB) │─────→│ (Form1.cs) │ │ │ │ │ │ │ │ - 카페/계정 관리 │ │ - 큐 관리 (posts[]) │ │ - GET 설정 fetch │ │ - 제목 자동생성 │ │ - 상태 모니터링 │ 에러 │ - ChatGPT 글생성 │ │ - 이미지셋 관리 │ │ - 카페 정지 처리 │←─────│ - 네이버 발행 │ │ - 사용이력 추적 │ │ - 벌크 수정 │report │ - 에러 보고 │ └─────────────────────┘ └──────────────────────┘ └─────────────────────┘

시스템별 역할

naver_analytics

Django / Python
  • • 카페/네이버 계정 DB 관리
  • • 글제목 자동 생성 (조합 로직)
  • • 이미지셋 관리 (S3 업로드)
  • • 에이전트 배포용 엑셀(.xlsx) 발급
  • • 사용 이력 추적 및 통계
  • • 카페 정지 시 자동 교체 처리

server

Node.js / MongoDB
  • • 엑셀 업로드 → MongoDB 저장
  • • 에이전트 설정 API (큐 방식 pop)
  • • 환경 목록 관리 (CRUD)
  • • 에러 보고 수신 및 상태 관리
  • • 카페 정지 감지 → Django 포워딩
  • • 벌크 수정 기능

C# 에이전트

C# / Selenium / WinForms
  • • 서버에서 설정 fetch (GET)
  • • ChatGPT API로 글 본문 생성
  • • Selenium으로 네이버 카페 발행
  • • 발행 간격 제어 (min~max초)
  • • 에러 발생 시 서버에 보고
  • • 라이선스 검증

파이프라인 요약

Step 1 Django에서 카페/계정/제목/이미지를 조합하여 에이전트 배포용 .xlsx 엑셀 파일 생성
Step 2 관리자가 엑셀을 서버 admin 페이지에서 업로드 → MongoDB에 환경별로 파싱/저장 (posts[] 큐)
Step 3 C# 에이전트가 GET /api/cafe/config로 설정 요청 → 서버가 큐에서 pop하여 응답
Step 4 에이전트가 ChatGPT로 글 생성 → Selenium으로 네이버 카페에 자동 발행
Error 에러 발생 시 에이전트 → 서버로 에러 보고 → 카페 정지 패턴이면 Django에 포워딩하여 자동 교체