Skip to content

멤버 업데이트 가이드라인

현재 members.uwksa.ca의 운영 방식은 SQLite + /manage 관리자 화면 + Git 기반 코드 수정입니다. 과거의 members.txt / add-member.sh 중심 절차는 현재 소스 트리 기준으로 더 이상 기본 운영 흐름이 아닙니다.


사전 준비

  • Git
  • Python
  • GitHub 권한
  • 운영자 작업이 필요하면 /manage 접근 권한 (MANAGE_ALLOWED_USERNAMES)

작업 유형 먼저 구분하기

작업 유형 현재 방식
템플릿 / 로직 / 설정 수정 저장소에서 파일 수정 후 Git으로 반영
멤버 승인 / 상태 변경 /manage
WatCard 이미지 교체 /manage 또는 static/images/WATCards/ 관리
DB 구조 확인 docs/DB_SCHEMA.md
signup on/off SIGNUP_UNAVAILABLE 환경 변수

1단계: 코드 저장소 준비

git clone https://github.com/therealuwksatech/members.uwksa.ca.git
cd members.uwksa.ca
git pull origin main
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

로컬에서 앱을 띄워 확인하려면:

python wsgi.py

2단계: 수정할 파일 찾기

수정 대상 파일
로그인 / QR / signup / manage 로직 membership.py
환경 변수 기본값 config.py
결제 알림 메일 mailer.py
리마인드 메일 membershipMailer.py
좌석 확인 API seat_check.py
템플릿 templates/*.html
정적 자원 static/*

3단계: 현재 멤버 데이터 구조 이해

현재 기준 데이터 저장소는 SQLite입니다.

  • 기본 DB: database/W26.db
  • 사용자 테이블: users
  • signup 기록: signup_submissions
  • photo validation 기록: signup_photo_validations

스키마는 docs/DB_SCHEMA.md를 기준으로 확인합니다.


4단계: 운영자 작업은 /manage에서 처리

현재 /manage에서 가능한 대표 작업:

  • pending signup 확인
  • confirmed 상태 변경
  • 사용자 생성
  • 사용자 이름 / 멤버 여부 수정
  • WatCard 이미지 업로드 / 교체
  • 사용자 및 관련 signup 기록 삭제

단순 멤버 추가/삭제를 위해 별도의 members.txt를 수정하거나 add-member.sh를 실행하는 방식은 현재 기본 절차가 아닙니다.


5단계: signup / 사진 검증 관련 확인 포인트

현재 signup 사진 처리는 다음 흐름을 따릅니다.

  1. /signup/photo-validate 호출
  2. Roboflow 워크플로우로 감지 수행
  3. validation token 생성
  4. 승인된 이미지를 signup 기록과 WatCard 이미지 경로에 반영

관련 환경 변수:

  • ROBOFLOW_API_KEY
  • ROBOFLOW_WORKFLOW_URL
  • ROBOFLOW_PROMPT
  • ROBOFLOW_CONFIDENCE_THRESHOLD
  • SIGNUP_VALIDATION_TTL_SEC

6단계: 변경 사항 검토 및 저장

git status
git diff
git add <수정한 파일>
git commit -m "변경 설명"
git push origin <브랜치명>

운영 환경 재시작이나 배포 절차는 이 저장소 밖에서 관리될 수 있으므로, 현재 인프라 기준은 운영 담당자 문서를 따릅니다.


자주 확인하는 환경 변수

  • 인증 / 세션: SECRET_KEY, OIDC_CLIENT_ID, OIDC_CLIENT_SECRET, OIDC_DISCOVERY_URL, OIDC_REDIRECT_URI
  • DB / 파일 경로: DATABASE, SIGNUP_TEST_DATABASE, WATCARD_UPLOAD_DIR
  • signup 제어: SIGNUP_UNAVAILABLE
  • 운영자 권한: MANAGE_ALLOWED_USERNAMES
  • 메일: RESEND_API_KEY, RESEND_FROM_EMAIL
  • 좌석 확인: SEATCHECK_GOOGLE_SERVICE_ACCOUNT_JSON, SEATCHECK_GOOGLE_SPREADSHEET_ID, SEATCHECK_GOOGLE_SHEET_NAME

참고

과거의 members.txt / SSH / 스크립트 중심 수동 절차는 레거시 문서에만 남겨 두고, 현재 운영 기준으로는 사용하지 않습니다.