generated from ttipo/project-base
feat(backend): 아임웹 회원 유입경로·신청 기록 관리자 API 추가
아임웹 관리자 페이지에서 회원을 유입경로·그룹 기준으로 보고, 무료 강의 신청을 기록·조회하기 위한 백엔드다. 관리자 화면(아임웹)과 API(wandergo.net)가 다른 사이트라 인증은 쿠키 대신 Bearer 토큰으로 한다. - 관리자 인증: env 단일 계정(ADMIN_USERNAME/PASSWORD)을 여러 사람이 공유, 기기별 세션(로그아웃은 그 기기만, 비밀번호 변경 시 전체 무효) - 아임웹 Open API 연동: OAuth 연결·토큰 갱신, 회원·그룹 주기 동기화, 가입 폼 '홈페이지' 항목의 유입정보 파싱, 회원 엑셀 '유입경로' 가져오기 스크립트 - 회원 조회: 유입경로·그룹·기간 필터, 유입원 집계 - 강의 신청 기록: 신청 완료 화면이 보내는 공개 API(회원 확인·중복 방지·요청 제한), 오픈카톡 클릭 기록, 관리자 신청 내역 조회 - CORS 다중 도메인, env 검증(운영 필수값), CI e2e 전 마이그레이션 적용, 개발 컨테이너 메모리 한도 2g, 에러 코드 IMWEB_001~005·APPLY_001 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -12,4 +12,13 @@
|
||||
# JWT 서명 키 — 인증 도입 시 사용. 환경마다 다른 값을 쓰고 절대 커밋하지 않는다.
|
||||
JWT_SECRET=change-me-generate-a-long-random-string
|
||||
JWT_ACCESS_EXPIRES_IN=1h
|
||||
JWT_REFRESH_EXPIRES_IN=14d
|
||||
JWT_REFRESH_EXPIRES_IN=12h
|
||||
|
||||
# 아임웹 개발자센터에서 발급받은 앱 키 — 회원 개인정보를 읽을 수 있으므로 절대 커밋하지 않는다
|
||||
IMWEB_CLIENT_ID=change-me-imweb-client-id
|
||||
IMWEB_CLIENT_SECRET=change-me-imweb-client-secret
|
||||
|
||||
# 관리자 계정 — 관리자 화면 로그인용 단일 계정 (여러 사람이 함께 쓴다)
|
||||
# 비밀번호를 바꾸고 재시작하면 로그인해 있던 모든 기기가 로그아웃된다. 12자 이상.
|
||||
ADMIN_USERNAME=change-me-admin-username
|
||||
ADMIN_PASSWORD=change-me-admin-password
|
||||
|
||||
Reference in New Issue
Block a user