📖
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 |
| AI | OpenAI 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개
라이선스
이 프로젝트는 학습 및 참고용으로 만들어졌습니다.