xcard.kr을 단순 개인 홈페이지를 넘어 강력한 퍼스널 브랜딩(자동 기사 작성, SNS 원클릭 발행, 완벽한 SEO) 솔루션으로 고도화하기 위한 아키텍처 및 구현 계획입니다.

1. 아키텍처 및 워크플로우 목표

사용자(정년퇴직자, 주부, 정치지망생 등)가 최소한의 정보와 사진만으로 고품질의 홍보 콘텐츠를 생산하고 확산할 수 있도록 설계합니다.

  • 1단계 (입력): 행사 사진 업로드 및 간단한 키워드/상황 설명 (누구와, 언제, 어디서, 목적).
  • 2단계 (AI 기사 작성): 등록된 LLM (Claude 또는 Gemini) API를 통해 프로페셔널한 기사 및 SNS용 텍스트 자동 생성.
  • 3단계 (발행 및 연동): 작성된 글을 플랫폼 내에 포스팅함과 동시에, 등록된 SNS(Instagram, Facebook, X, Threads) 계정 API를 호출하여 동시 발행.
  • 4단계 (SEO 및 확산): 등록된 포스트는 검색 엔진(Google, Naver)에 즉각적으로 친화적인 형태(OG 태그, 구조화된 데이터, Sitemap)로 제공되어 노출 극대화.

CAUTION

 

User Review Required (검토 필요 사항)

SNS 연동의 경우 Meta Graph API(Facebook, Instagram), X API 등은 개발자 계정 등록 및 앱 리뷰 과정이 필요할 수 있습니다.

  1. 각 테넌트(사용자)가 직접 자신의 SNS 개발자 앱을 만들어 API Key를 입력하게 할 것인지, 아니면
  2. xcard.kr 본 서버에서 중앙 앱을 만들어두고 OAuth2.0 로그인(소셜 로그인) 방식으로 권한을 위임받아 포스팅할 것인지 결정이 필요합니다. (사용자 편의성을 위해서는 2번이 압도적으로 유리하지만 플랫폼 운영자의 앱 관리가 필요합니다. 현재 기획상으로는 '개인별 API 키 등록'이므로 1번으로 진행할지 확인 부탁드립니다.)

2. 데이터베이스 변경 (Database Updates)

테넌트별 API 키 및 연동 설정을 저장하기 위해 기존  tenant_settings  테이블을 확장하거나 새로운  tenant_integrations  테이블을 생성합니다.

[NEW]  tenant_integrations  테이블 (제안)

  • tenant_id  (INT)
  • llm_provider  (ENUM: 'claude', 'gemini', 'openai')
  • llm_api_key  (VARCHAR)
  • instagram_access_token  (VARCHAR)
  • facebook_page_access_token  (VARCHAR)
  • x_api_key  (VARCHAR)
  • x_api_secret  (VARCHAR)
  • x_access_token  (VARCHAR)
  • x_access_token_secret  (VARCHAR)

posts  테이블 수정

  • sns_publish_status  (JSON) - 각 SNS별 발행 성공/실패 여부 및 URL 기록 추가

3. 기능별 구현 상세 (Proposed Changes)

3.1. 관리자 설정 화면 (Admin Settings)

[MODIFY]  src/Controllers/TenantAdminController.php

  • 설정 페이지( admin/settings )에서 API 키 입력 탭(AI 연동, SNS 연동)을 추가하고 저장 로직 구현.

[MODIFY]  templates/admin/settings.php

  • LLM API 키 입력 폼, 각 SNS별 API/Token 입력 폼 및 연결 테스트 버튼 UI 추가.

3.2. AI 기사 자동 작성 (AI Content Generation)

[NEW]  src/Controllers/AIWriterController.php

  • 사진(이미지 비전 분석 포함 가능)과 간단한 프롬프트를 입력받아 설정된 LLM(Gemini/Claude)에 API 요청을 보내고, 결과물(본문, 해시태그, 제목)을 반환하는 로직.

[NEW]  templates/admin/post_generate.php

  • "AI 자동 작성" 메뉴 신설.
  • 사진 업로드 (다중), 필수 정보(행사명, 목적 등) 입력 폼.
  • AI가 생성한 글을 미리보고 수정할 수 있는 에디터 화면.

3.3. SNS 원클릭 발행 (SNS Publishing)

[NEW]  src/Services/SNSPublisher.php

  • 포스트가 DB에 저장될 때, 체크된 SNS(페이스북, 인스타, X 등)에 API로 글과 사진을 전송하는 서비스 클래스.
  • 각 SNS별 API 통신 로직 구현.

[MODIFY]  src/Controllers/PostController.php  (또는  TenantAdminController.php  내 포스트 저장 로직)

  • 글 저장 완료 후  SNSPublisher 를 호출하여 비동기 또는 동기적으로 SNS 동시 등록.

3.4. SEO 최적화 (SEO Enhancements)

[MODIFY]  templates/front/layout.php  (또는 해당 메인 레이아웃 파일)

  • 동적 Meta Tags (Title, Description).
  • Open Graph (og:title, og:image, og:description) 및 Twitter Cards 완벽 적용.
  • application/ld+json  구조화된 데이터(Article, Person 스키마) 삽입.

[NEW]  src/Controllers/SitemapController.php

  • /sitemap.xml  및  /robots.txt  동적 생성 로직 추가. (Google Search Console 자동화 연동 고려)

4. 진행 순서 (Verification Plan)

  1. DB 스키마 마이그레이션: API 연동을 위한 설정 필드 추가.
  2. 설정 UI 개발: 관리자 페이지에서 API 키 등록 기능 구현.
  3. AI 연동: Gemini/Claude API를 활용한 기사 생성 백엔드 및 프론트(AJAX) 연동 테스트.
  4. SEO 반영: 퍼블릭 포스트 페이지의 메타 태그 및 Sitemap 기능 구현.
  5. SNS 연동 (선택적/순차적): API 난이도가 낮은 것부터 순차적으로 통합 테스트.