로컬 환경 분리와 회원가입 중복 검증 보강

로컬 개발 환경은 .env.local을 우선 읽고 운영은 .env.production만 읽도록 분리해 인증 우회 설정이 운영에 섞이지 않게 정리했다. 회원가입/로그인 이메일 정규화와 중복 예외 처리를 보강해 대소문자·공백 변형 중복 가입을 안정적으로 차단했다.

Made-with: Cursor
This commit is contained in:
2026-04-27 11:33:10 +09:00
committed by DUCK JIN
parent 069eda3544
commit 73d198f5a9
12 changed files with 105 additions and 25 deletions

View File

@@ -4,6 +4,8 @@
- 캐릭터 이름 표시를 켠 상태에서 긴 라벨이 잘리는 문제는 글자 수 제한으로 자르기보다, 카드 안에서 overflow 시에만 자동 슬라이드시키는 편이 정보 전달과 가독성 모두에 유리하다고 판단했다.
- 짧은 라벨까지 항상 움직이면 오히려 시선 피로가 생기므로, 실제 렌더링 너비를 기준으로 overflow 여부를 계산해 마퀴 애니메이션을 조건부로 켜는 방식으로 정리했다.
- 로컬 개발에서는 SMTP가 없거나 불안정한 경우 가입/로그인 플로우 자체를 막아버리기 쉬우므로, 운영 환경과 분리된 개발 전용 스위치(`SKIP_EMAIL_VERIFICATION`)로 메일 인증 단계를 건너뛸 수 있게 두는 편이 낫다고 판단했다.
- 이메일/닉네임 중복은 DB unique 제약에만 기대기보다 입력 정규화(`trim + lowercase`)와 앱 레벨 중복 체크를 함께 두는 편이 재현 케이스(대소문자/공백 변형)에 더 안전하다고 정리했다.
- 로컬 개발과 운영이 같은 `.env.production` 파일을 공유하면 인증 우회 같은 개발용 옵션이 운영에 섞일 위험이 있으므로, 실행 모드(`NODE_ENV`) 기준으로 로컬 `.env.local`과 운영 `.env.production`을 분리해 읽는 편이 더 안전하다고 판단했다.
## 2026-04-08 v1.1.30
- 관리자 목록관리의 상단 고정 템플릿 후보가 많아지면 모든 후보를 화면에 상시 렌더링하는 방식은 탐색성이 떨어지고 관리 영역을 불필요하게 길게 만든다고 판단했다. 따라서 고정 목록은 현재 선택된 항목만 보여주고, 추가는 검색 모달로 분리하는 쪽으로 정리했다.