generated from ttipo/project-base
45db80d683
대구 공연은 관광공사에 거의 없고(90일 1건) KOPIS 에는 153건이 있다. place:sync -- kopis 로 대구·경북 공연을 매일 받는다. - 목록 → 새·바뀐(afterdate)·7일 지난 공연만 상세 → 새 공연장만 시설 상세 → 시설 좌표를 공연에 복사 - 시설 좌표가 주소의 시·도 영역 밖이면 비운다(대구 중구 주소에 경주 좌표인 시설이 있었다) - 포스터 http 주소를 https://kopis.or.kr 로 바꿔 저장, 0.6초 간격 호출(초당 10회 차단) - 공공데이터 클라이언트에 키 파라미터 이름·호출 간격·경로를 나눠 받게 함 - XML 응답 해석에 fast-xml-parser 추가. 컨테이너 npm 11.20 이 만든 잠금 파일은 선택 peer·@emnapi 항목을 지워 CI(npm 10)·호스트의 npm ci 가 실패해서, 새 패키지 항목만 기존 잠금에 더했다 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
35 lines
1.9 KiB
Bash
35 lines
1.9 KiB
Bash
# ==========================================
|
|
# 백엔드 고유 시크릿 (development)
|
|
#
|
|
# ⚠️ DB / Redis / CORS / PORT 는 루트 .env.development 에서 docker-compose 가 주입한다.
|
|
# 여기에 중복 작성하지 말 것 (SSOT: 루트 .env — .claude/rules/env-structure.md).
|
|
# 이 파일에는 "루트에서 내려주지 않는 값"만 작성한다.
|
|
#
|
|
# 사용법: cp .env.development.example .env.development
|
|
# docker-compose 의 env_file 지시자 때문에 파일은 비어 있어도 존재해야 한다.
|
|
# ==========================================
|
|
|
|
# JWT 서명 키 — 인증 도입 시 사용. 환경마다 다른 값을 쓰고 절대 커밋하지 않는다.
|
|
JWT_SECRET=change-me-generate-a-long-random-string
|
|
JWT_ACCESS_EXPIRES_IN=1h
|
|
JWT_REFRESH_EXPIRES_IN=14d
|
|
|
|
# 공공데이터포털 일반 인증키 — 마이페이지의 "Decoding" 키를 넣는다.
|
|
# 한 키로 활용신청이 승인된 모든 API(관광공사 국문·영문·반려동물, 기상청 단기예보, 상가정보)를 호출한다.
|
|
# 개발 계정은 관광공사 API 하루 1,000건 제한이 있다.
|
|
PUBLIC_DATA_SERVICE_KEY=change-me-data-go-kr-decoding-key
|
|
# 관광공사 API 오퍼레이션별 하루 호출 한도(장소 동기화 명령이 이 안에서 멈춘다). 비우면 1000(개발 계정).
|
|
# 운영 계정 승인 후 승인된 한도로 올린다.
|
|
TOUR_API_DAILY_LIMIT=
|
|
|
|
# 공연예술통합전산망(KOPIS) Open API 인증키 — 공연 정보 동기화(서버에서만 쓴다, 1인 1키).
|
|
# kopis.or.kr → Open API 에서 신청하면 이메일로 온다.
|
|
KOPIS_SERVICE_KEY=change-me-kopis-service-key
|
|
|
|
# 카카오 REST API 키 — 장소 검색(로컬 API)을 서버에서만 호출한다.
|
|
# 응답(이름·주소·좌표)은 저장·캐시·LLM 전송 금지. 장소 ID·place_url 만 저장할 수 있다.
|
|
KAKAO_REST_API_KEY=change-me-kakao-rest-api-key
|
|
|
|
# Claude API 키 — AI 코스 생성. 사용량만큼 과금된다.
|
|
ANTHROPIC_API_KEY=change-me-anthropic-api-key
|