📖

README

프로젝트 개요 및 시작 가이드

📄 README.md 📏 -줄 💾 - 🌐 ad.uschool.kr

톡탁 클론 (TokTak Clone)

AI 기반 SNS 자동화 서비스 플랫폼 - PHP + MySQL 기반 클론 프로젝트

프로젝트 개요

톡탁(TokTak)의 핵심 기능을 PHP + MySQL 기반으로 클론한 프로젝트입니다.

상품 URL을 입력하면 AI가 자동으로 영상, 이미지, 블로그 콘텐츠를 생성하고,

여러 SNS 채널에 동시에 업로드하는 서비스입니다.

기술 스택

구분기술
백엔드PHP 8.2+, MySQL 8.0, Redis 7
프론트엔드Tailwind CSS, Alpine.js, HTMX
AIOpenAI GPT-4 (텍스트), OpenAI TTS (음성), GD Library (이미지)
영상FFmpeg (영상 합성)
인프라Docker, Nginx, GitHub Actions CI/CD
클라우드AWS (EC2/RDS/S3) 또는 DigitalOcean

핵심 기능

1. AI 콘텐츠 자동 생성

  • 상품 URL 입력 → AI가 상품 정보 스크래핑
  • AI 나레이션 스크립트 자동 생성 (3섹션)
  • AI 영상 생성 (15s/30s/60s, 세로형 9:16)
  • AI 이미지 카드 4장 자동 생성
  • AI 블로그 포스트 자동 작성
  • AI Title, Comment, Hashtag 자동 생성

2. SNS 멀티 업로드

  • YouTube, Instagram, TikTok, 네이버 블로그, Twitter/X 지원
  • 한 번에 여러 채널 동시 업로드
  • OAuth 기반 SNS 채널 연동

3. 멀티 링크

  • Linktree 스타일 바이오 링크 페이지
  • 상품 링크 연결 및 수익화
  • 클릭 추적 분석

4. 맞팔해요

  • SNS 팔로우 교환 시스템
  • SNS 계정 성장 지원

5. 수익화 시스템

  • 크레딧 기반 과금
  • 파트너스(어필리에이트) 수익 공유
  • 단축 URL 클릭 추적

프로젝트 구조

code
toktak-clone/
├── app/
│   ├── Config/          # 데이터베이스, 라우터 설정
│   ├── Controllers/     # 6개 컨트롤러 (Auth, Content, SNS, Multilink, Follow, Pricing)
│   ├── Services/        # 핵심 서비스 모듈
│   │   ├── AI/          # ContentGenerator, ImageGenerator, VideoGenerator
│   │   ├── Scraper/     # ProductScraper (쿠팡/알리/스마트스토어)
│   │   └── SNS/         # SnsUploader (YouTube/Instagram/TikTok/Blog/Twitter)
│   ├── Views/           # 7개 프론트엔드 뷰 (Tailwind + Alpine.js)
│   └── helpers.php      # 45개 글로벌 헬퍼 함수
├── config/              # app, database, services 설정
├── database/migrations/ # MySQL 스키마 (17개 테이블)
├── docker/              # Nginx, PHP 설정
├── public/              # 웹 루트 (index.php)
├── routes/              # 라우트 정의 (70개 라우트)
├── storage/             # 로그, 캐시, 업로드
├── Dockerfile           # PHP 8.2 + FFmpeg
├── docker-compose.yml   # 개발 환경 (5개 서비스)
├── docker-compose.prod.yml  # 프로덕션 환경
├── Makefile             # 25+ 개발 명령어
└── deploy.sh            # 자동 배포 스크립트

빠른 시작

1. 환경 설정

bash
cp .env.example .env
# .env 파일에서 API 키 및 DB 정보 설정

2. Docker로 실행

bash
# 개발 환경 시작
make up

# 또는 직접 실행
docker-compose up -d

# 데이터베이스 마이그레이션
make migrate

3. 접속

  • 웹: http://localhost
  • phpMyAdmin: http://localhost:8080

필수 API 키

API용도발급처
OpenAI API텍스트/음성 생성https://platform.openai.com
Google OAuth소셜 로그인https://console.cloud.google.com
Facebook OAuth소셜 로그인https://developers.facebook.com
YouTube Data API영상 업로드Google Cloud Console
Instagram Graph API피드 업로드Meta for Developers
TikTok API영상 업로드https://developers.tiktok.com
Stripe API결제https://stripe.com

데이터베이스

17개 테이블로 구성:

  • users, plans, subscriptions, credit_transactions
  • contents, content_items
  • sns_channels, upload_jobs, upload_logs
  • multi_links, multi_link_items
  • follow_exchanges
  • partners, partner_earnings
  • notifications, scrape_cache, audit_logs

프로덕션 배포

bash
# 프로덕션 빌드 & 배포
make deploy-prod

# 또는 GitHub Actions로 자동 배포 (main 브랜치 push 시)

코드 통계

  • 총 소스 파일: 54개
  • 총 코드 라인: 12,287줄
  • PHP 컨트롤러: 6개 (2,980줄)
  • 서비스 모듈: 6개 (2,759줄)
  • 프론트엔드 뷰: 7개
  • 라우트: 70개
  • DB 테이블: 17개

라이선스

이 프로젝트는 학습 및 참고용으로 만들어졌습니다.