From 7011d3ef3a0b736041fbc4f7947f69ff3b032cd5 Mon Sep 17 00:00:00 2001 From: gahusb Date: Fri, 24 Apr 2026 09:10:46 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20CLAUDE.md=20travel-proxy=20=EC=84=B9?= =?UTF-8?q?=EC=85=98=20=E2=80=94=20DB=C2=B7API=C2=B7=ED=8C=8C=EC=9D=BC=20?= =?UTF-8?q?=EA=B5=AC=EC=A1=B0=20=EC=97=85=EB=8D=B0=EC=9D=B4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 --- CLAUDE.md | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index a4fb9c0..22bb026 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -349,9 +349,18 @@ docker compose up -d ### travel-proxy (travel-proxy/) - 원본 사진: `/data/travel/` (RO) - 썸네일 캐시: `/data/thumbs/` (RW) +- DB: `/data/thumbs/travel.db` (photos, album_covers 테이블) - 메타: `/data/travel/_meta/region_map.json`, `regions.geojson` -- 썸네일: 480×480 리사이징 (Pillow), 온디맨드 생성 후 영구 캐시 -- 메모리 캐시: TTL 300초 (앨범 스캔 결과) +- 파일 구조: `main.py`, `db.py`, `indexer.py` +- 썸네일: 480×480 리사이징 (Pillow), 동기화 시 사전 생성 + 온디맨드 폴백 +- 데이터 흐름: 수동 sync → 폴더 스캔 → SQLite 인덱싱 + 썸네일 일괄 생성 + +**travel.db 테이블** + +| 테이블 | 설명 | +|--------|------| +| `photos` | 사진 인덱스 (album, filename, mtime, has_thumb) | +| `album_covers` | 앨범별 커버 사진 지정 | **travel-proxy API 목록** @@ -359,7 +368,9 @@ docker compose up -d |--------|------|------| | GET | `/api/travel/regions` | 지역 GeoJSON | | GET | `/api/travel/photos` | 사진 목록 (region, page=1, size=20) | -| POST | `/api/travel/reload` | 메모리 캐시 초기화 | +| POST | `/api/travel/sync` | 폴더 스캔 → DB 동기화 + 썸네일 생성 | +| GET | `/api/travel/albums` | 앨범 목록 + 사진 수 + 커버 정보 | +| PUT | `/api/travel/albums/{album}/cover` | 앨범 커버 지정 | ### blog-lab (blog-lab/) - 블로그 마케팅 수익화 서비스 (키워드 분석 → AI 글 생성 → 마케팅 강화 → 품질 리뷰 → 포스팅 → 수익 추적)