- 페이지 URL 입력 → HTML 프리뷰 표시
- iframe 내 요소 호버 시 하이라이트 + CSS 셀렉터 표시
- 클릭으로 필드 매핑 (컨테이너, 제목, URL, 순위 등)
- 목록/랜딩 2가지 데이터 타입 지원
- 매핑 결과 → parse_rules JSON 자동 생성
- 사이트 저장 + 즉시 크롤링 한번에 처리
- Traefik: *.startover.co.kr → crawl-manager (admin 제외)
- startover.co.kr(메인)은 기존 컨테이너 그대로 유지
- admin.startover.co.kr → 관리자
- {서브도메인}.startover.co.kr → DB domain_mappings에서 매핑된 사이트 HTML 서빙
- domainRouter에서 admin 도메인 명시적 제외
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- app.js: initScript() 헬퍼로 <script>var __INIT__=데이터</script> 생성
- layout.ejs: <%- ssrData %> 로 body 뒤에 script 태그 삽입
- 모든 페이지에서 첫 로드 시 즉시 데이터 표시 확인 완료
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- 모든 관리자 페이지에서 DB 데이터를 서버에서 직접 HTML에 주입
- __INIT__ 글로벌 변수로 초기 데이터 전달 (fetch 불필요)
- 대시보드/사이트관리/AdSense/도메인/로그/사이트상세 전부 적용
- trust proxy 설정 (Traefik 뒤 동작)
- 저장/삭제/크롤링 등 액션은 여전히 API fetch 사용
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- fetch redirect:manual로 리다이렉트 방지
- 401/리다이렉트 시 로그인 페이지로 이동
- JSON 파싱 실패 시 빈 배열 반환 (빈 목록 방지)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- db.js: waitForDB() 추가 (최대 10회, 3초 간격 재시도)
- app.js: DB 연결 시 waitForDB 사용
- start-server.sh: git 유저명 @를 %40으로 인코딩
- docker-compose.yml: 볼륨 상대경로로 변경 (./data/)
- 디렉토리 권한 문제 해결
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- start-server.sh: git remote URL에 인증정보 포함 (비밀번호 입력 생략)
- setup-server.sh: 서버 최초 설치용 (clone + 디렉토리 생성)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- 디스커버리 크롤링: 태그/목록 페이지 URL에서 최신 글 링크 자동 탐색
(parse_rules.discovery.link_selector로 Read more 링크 찾기)
- AdSense 슬롯 ID 선택사항: client_id만 있으면 자동 광고 동작
- 사이트 관리: 저장 후 목록 즉시 갱신 (await loadSites)
- 사이트 관리: 크롤링 스케줄 설정 UI 추가 (크론 프리셋 버튼)
- 사이트 관리: 미리보기 버튼 추가 (렌더링 + 파싱 데이터 확인)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Ubuntu 서버에서 git fetch + reset으로 최신 소스 적용
- Docker 시스템 정리 후 빌드 & 실행
- 데이터 디렉토리 자동 생성
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Express.js 기반 관리자 페이지 (사이트/크롤링/AdSense/도메인 관리)
- PostgreSQL 16 + Docker Compose (Traefik 연동)
- 크롤러: axios + cheerio 기반 HTML 파싱
- 스케줄러: node-cron 기반 자동 크롤링
- 공개 사이트: slug/도메인 기반 DB에서 렌더링 HTML 서빙
- 도메인: admin.startover.co.kr
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>