Skip to content

dev -> main 머지 - #105

Merged
JangDongHo merged 28 commits into
mainfrom
dev
Sep 29, 2026
Merged

JangDongHo merged 28 commits into
mainfrom
dev

Conversation

@JangDongHo

Copy link
Copy Markdown
Member

📌 개요

  • 어떤 기능/작업인지 한 줄 요약

✨ 작업 내용

  • 주요 구현 내용 정리
  • 핵심 로직 또는 변경 사항 위주로 작성

🔥 변경 이유

  • 왜 이렇게 구현했는지

🧪 테스트

  • 정상 동작 확인
  • 예외 케이스 확인
  • (필요 시 테스트 시나리오 추가)

🔗 관련 이슈

  • close #이슈번호

JangDongHo and others added 28 commits September 26, 2026 14:22
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
COPY . . 이 dev-deps의 node_modules 위에 호스트(맥) node_modules를 덮어써서
.bin/nest 의 NODE_PATH 가 컨테이너에 없는 호스트 경로를 가리켰고,
source-map-support/register 를 찾지 못해 dev 서버가 죽었다(nginx 502).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- 교직원식당(form_type 2), 중앙식당, 교육문화식당: 식당마다 식단 표 형태가 달라 파서 검증에 필요
- 학교 공지(department 117) 카테고리 4개: 학사, 공지사항, 장학, 교내채용
  (학술/행사는 목록이 아닌 달력형 게시판이라 공지 목록 파서 대상이 아니므로 제외)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- batch 서비스 추가: supabase start 로 띄운 DB(54322)에 붙어 수집 결과를 확인
- app은 env_file .env.local 을 쓰고 environment 의 ${VAR:-기본값} 보간을 제거:
  같은 폴더의 .env(외부 DB 값)가 보간되어 dev 컨테이너가 외부 DB에 붙는 문제 방지
- .env.local 을 .gitignore 에 추가

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
✨ feat: 학사일정·학교 공지·학식 수집 배치 구현 (대상별 scrape_run)
재시도 루프에서 중간 시도 실패가 로깅 없이 버려지던 문제를 해결.
재시도가 결정된 경우 시도 횟수와 다음 재시도까지의 지연 시간을 warn 레벨로 남기도록 함.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
[Fix] FetchHttpClient 재시도 시 중간 실패 warn 로그 추가
console.log/warn/error 대신 nest-winston 기반 전역 Logger로 교체하여
timestamp/level/context 메타데이터가 로그에 포함되도록 함. api 서비스와
동일한 LoggerModule 구성을 batch에도 적용.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
nest-winston의 WinstonLogger.warn(message, context)는 인자를 2개만 받는데,
this.logger.warn(msg, lastError)로 호출하면 인스턴스 로거가 자동으로 붙이는
context(FetchHttpClient) 앞에 lastError가 끼어들어 context 자리를 lastError가
차지하고 실제 context는 버려짐. 에러 정보를 메시지 문자열에 직접 포함시키고
context는 생성자에 바인딩된 값이 자동으로 실리도록 별도 인자를 넘기지 않게 수정.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Error 객체를 trace 인자로 그대로 넘기면 nest-winston이 meta.stack에
담아 JSON 직렬화하는데, Error의 message/stack은 enumerable 프로퍼티가
아니라서 직렬화 시 {}로 사라짐. error.stack(문자열)을 전달하도록 수정.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
[Chore] batch 서비스에 전역 winston Logger 도입
- /api/api-docs: 우리집 공인 IP(210.121.177.238)만 허용
- /api/admin/: api 도메인에서는 차단 (admin 도메인 전용으로 유지)
- /api: GET(Expo 앱)은 공개, 그 외 메소드(카카오 웹훅)는 카카오 IP 대역(219.249.231.0/24)만 허용
- admin.connectgnu.kro.kr 인증서 경로를 실제 EC2 경로(-0001)에 맞게 수정

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
[Chore] nginx API 접근 제어 재정비 (swagger/카카오/어드민)
@JangDongHo JangDongHo self-assigned this Sep 29, 2026
@coderabbitai

coderabbitai Bot commented Sep 29, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository: GNU-connect/Server-Node/.coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: ac4b91a4-5cfd-488a-96bd-b56a8e6ff5f2

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@JangDongHo
JangDongHo merged commit 279b9e7 into main Sep 29, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant