Skip to content

feat(web, server): 회원 프로필 및 로그인·마이페이지 구현 - #18

Merged
wantkdd merged 67 commits into
developfrom
feat/member-profile
Sep 8, 2026
Merged

feat(web, server): 회원 프로필 및 로그인·마이페이지 구현#18
wantkdd merged 67 commits into
developfrom
feat/member-profile

Conversation

@wantkdd

@wantkdd wantkdd commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

작업내용

  • MyInfo 마이페이지와 타인이 보는 멤버 프로필 API·화면 분리
  • 이름·이미지·공개 범위·비밀번호 변경, 탈퇴·복구 흐름 연결
  • 가입 이메일 변경 금지, 인증 전 서비스 차단, Gmail SMTP 인증 코드 발송·재발급
  • 탈퇴 30일 유예, 로그인 복구, 만료 후 개인정보 정리
  • 참여 프로젝트별 회의 횟수·시간·전체 저장 커밋 수·마지막 동기화 표시 및 커서 기반 더 불러오기
  • 본인에게만 최근 회의·결정 요약 표시; 타인 비공개 프로필은 사진·이름·이메일만 유지
  • 가입 이미지 인증 대기 중 새로고침 보존 및 인증 완료 후 업로드
  • 회원 변경 후 프로필·회의·결정 표시 캐시 갱신, 계정 전환 시 캐시 초기화
  • 회의·결정 참여자 프로필 진입 및 나간/탈퇴 사용자 표시 반영
  • 기존 카드 재사용, 비밀번호 입력 공용화, 모바일 모달·키보드 접근성 보완
  • 계정 상태·인증·탈퇴·공개 범위용 Flyway V2~V6 및 docs/domain.md 정책 기록

포함된 영역

  • FE
  • BE
  • AI
  • docs
  • infra
  • 직접 작성

예측 (작업 초기 PR 생성 시 작성)

  • 예상 소요: 12일 (초기 서버 작업 기준)
  • 막힐 것 같은 곳: 기존 인증 흐름과 계정 상태 전이 결합, 탈퇴 후 기록 보존, 프로젝트별 통계 쿼리
  • 전문 밖 영역 중 걱정되는 것: 외부 메일 실발송 설정과 공용 인증·스키마 변경 영향

결과 (머지 전 작성)

  • 실제 소요: 기존 서버 기록 12일. 이후 Web 구현·시각 QA·정리 추가, 전체 실제 작업일은 별도 집계하지 않음
  • 실제로 막힌 곳: Resend 발신 도메인 제약으로 Gmail SMTP 전환, 로컬 MySQL 포트 충돌, 인증 대기 이미지 보존과 계정별 캐시 일관성
  • 배운 것: 설정 존재와 실발송을 구분하고, 인증 상태 변경 시 토큰·캐시·임시 저장을 함께 처리해야 함

리뷰 요청

  • Server 가디언: global/external/email, refresh-token cookie/security, Member 및 Flyway V2~V6 영향 확인
  • Team 담당자: 다른 활성 팀원이 있는 팀의 OWNER는 탈퇴 불가, OWNER 혼자 남은 팀은 탈퇴 가능. 팀 삭제 기능 자체는 제외
  • Web: 인증·복구 분기, 공개 범위, 이미지 보존·실패 안내, 회원 캐시 갱신 및 공용 모달 영향 확인
  • 프로필 집계 인덱스·커서 및 nullable 회원 표시 계약 확인
  • CI 오탐: S3Client.getFileUrl()은 키 인코딩과 URL 문자열 조립만 하며 네트워크 요청을 하지 않습니다. 구현 근거로 기존 지적 재검토를 요청합니다. 무관한 회의 오디오 트랜잭션 리팩터링은 이번 추가 변경에서 제외했습니다.

메모

  • Web 변경은 개발 흐름별 39개 커밋, 커밋당 최대 3개 파일로 분리. 개별 중간 커밋이 아닌 최종 통합 상태 검증.
  • 사용자 시각 QA 승인 및 마지막 인증 안내 버튼 간격 반영.
  • Web 검증: Biome, TypeScript/Vite build, 캐시 갱신·계정 분리·활성 조회 재요청, 이미지 보존·만료·이메일 구분·저장 실패 안내, 27개 화면 상태 회귀 확인 통과. 독립 로컬 리뷰 차단 없음.
  • 서버 기존 검증: Gradle test/Spotless/Checkstyle/compileJava, 기동/Flyway V1~V6, 회원가입 API 및 Gmail 발송. 이번 Web 정리에서 실제 발송·비밀번호 변경 완료·탈퇴/복구 전체를 재실행하지는 않았습니다. 실제 S3 업로드는 배포 자격증명으로 별도 smoke test 필요.
  • 기존 대형 JS 번들 경고는 별도 최적화 범위로 유지.
  • 실제 .env, 비밀값, 임시 테스트·QA 도구는 미포함. 배포에는 Gmail SMTP, 인증 코드 HMAC secret, JWT/암호화 키를 주입하고 HTTPS에서 REFRESH_TOKEN_COOKIE_SECURE=true 필요.
  • 발송 실패 시 UNVERIFIED로 유지하고 기존 POST /api/auth/email-verifications 재호출. 로그인 EMAIL_VERIFICATION_REQUIRED는 인증 화면, RECOVERY_REQUIRED는 복구 화면으로 이동.
  • 최근 회의·결정은 본인용 최근 요약이며 더 불러오기 없음. 팀 관리·개인 커밋 매핑/통계·이메일 변경 제외.
  • 공식 AI 차단 이력 보존. 새 push의 CI 결과 확인 필요. 댓글 기반 대화형 재심은 아직 미구현.

wantkdd added 25 commits August 31, 2026 15:08
@vercel

vercel Bot commented Aug 31, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
whylog Ready Ready Preview Sep 8, 2026 12:54am UTC

@whylog-dev

whylog-dev commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

WhyLog AI 리뷰

결과: ✅ 차단 항목 없음 · 모델: OpenAI gpt-5.6-terra
회원 프로필·인증·탈퇴 흐름과 회의/결정 표시 정보 확장을 위한 서버·문서 변경을 검토했습니다. 제공된 변경 diff에서 명확한 차단 이슈나 확정적인 개선 항목은 확인하지 못했습니다.

PR 리뷰 문서: docs/pr-reviews/PR-18.md 서명·부모 SHA·입력 digest 확인 · 이전 판단 유지

차단

없음

제안

없음

이 코멘트는 새 실행 때 갱신됩니다. 차단 항목은 사람이 타당성을 확인한 뒤 수정하세요.

@wantkdd wantkdd changed the title feat(server): 회원 프로필과 계정 생명주기 구현 feat: 회원 프로필 및 로그인·마이페이지 구현 Sep 8, 2026
@wantkdd wantkdd changed the title feat: 회원 프로필 및 로그인·마이페이지 구현 feat(web, server): 회원 프로필 및 로그인·마이페이지 구현 Sep 8, 2026
@wantkdd
wantkdd merged commit dda720a into develop Sep 8, 2026
9 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.

2 participants