Commit Graph

8 Commits

Author SHA1 Message Date
chpark dcae228a24 fix: 전 페이지 서버사이드 렌더링으로 전환 (초기 데이터 fetch 제거)
- 모든 관리자 페이지에서 DB 데이터를 서버에서 직접 HTML에 주입
- __INIT__ 글로벌 변수로 초기 데이터 전달 (fetch 불필요)
- 대시보드/사이트관리/AdSense/도메인/로그/사이트상세 전부 적용
- trust proxy 설정 (Traefik 뒤 동작)
- 저장/삭제/크롤링 등 액션은 여전히 API fetch 사용

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 11:24:57 +09:00
chpark e560a2faa2 fix: 프로덕션 쿠키/세션 문제 해결
- trust proxy 설정 (Traefik 뒤에서 동작)
- 쿠키 secure:false (Traefik이 SSL 처리하므로 내부는 HTTP)
- fetch credentials:'same-origin' 명시
- redirect:manual 제거 (opaqueredirect 문제)
- content-type 체크로 비정상 응답 감지

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 02:25:05 +09:00
chpark 4df273fa19 fix: API 인증 실패 시 401 반환 (리다이렉트 대신)
페이지 이동 후 사이트 목록 빈 화면 버그 수정

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 02:07:23 +09:00
chpark e1f7f1f2ad feat: 로그인 페이지 추가 (Basic Auth 제거)
- 산뜻한 로그인 페이지 (다크 테마 + 글로우 배경)
- 쿠키 기반 세션 인증 (24시간 유지)
- 로그아웃 버튼 (사이드바 + 상단바)
- 미인증 시 로그인 페이지로 리다이렉트

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 01:57:38 +09:00
chpark 6257025c8e fix: 루트 경로 /admin 리다이렉트 + git URL 인코딩 수정
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 01:42:48 +09:00
chpark 0a322bafa3 fix: DB 연결 재시도 + git 인증 + 볼륨 경로 수정
- 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>
2026-03-27 01:23:32 +09:00
chpark 52b1c40132 fix: 사이트 관리 페이지 개선 + 디스커버리 크롤링 + 광고 슬롯 선택화
- 디스커버리 크롤링: 태그/목록 페이지 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>
2026-03-27 01:05:21 +09:00
chpark c61f10560f init: 크롤링 관리 솔루션 초기 구성
- 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>
2026-03-27 00:44:19 +09:00