From 3163a671de5690d52b6048241b1900c379d8db40 Mon Sep 17 00:00:00 2001 From: zenn Date: Tue, 7 Apr 2026 15:50:55 +0900 Subject: [PATCH] =?UTF-8?q?=EB=8B=89=EB=84=A4=EC=9E=84=20=EA=B8=B0?= =?UTF-8?q?=EA=B0=84=20=EC=98=88=EC=8B=9C=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.production | 13 +++++++++++++ docs/history.md | 1 + docs/map.md | 1 + docs/spec.md | 1 + docs/todo.md | 1 + docs/update.md | 1 + 6 files changed, 18 insertions(+) create mode 100644 .env.production diff --git a/.env.production b/.env.production new file mode 100644 index 0000000..062657a --- /dev/null +++ b/.env.production @@ -0,0 +1,13 @@ +MARIADB_ROOT_PASSWORD=wps!xldj180204 +MARIADB_DATABASE=tier_db +MARIADB_USER=zenn +MARIADB_PASSWORD=wps!xldj180204 +SESSION_SECRET=291fbf7d5d112786a84d8ff62dd2839ce343a820c47d88da746ec78e11d640b3 +APP_ORIGIN=https://tmaker.sori.studio +SMTP_HOST=smtp.gmail.com +SMTP_PORT=465 +SMTP_SECURE=true +SMTP_USER=zenn.sori.studio@gmail.com +SMTP_PASS=kcasoehxcspqdoxz +SMTP_FROM="Tier Maker " +NICKNAME_CHANGE_INTERVAL_DAYS=20 diff --git a/docs/history.md b/docs/history.md index 8ee57b1..de4f400 100644 --- a/docs/history.md +++ b/docs/history.md @@ -7,6 +7,7 @@ - 프로필 이미지는 자주 다루지 않는 항목이고 변경 직후 결과를 바로 확인할 수 있으므로, 별도 저장 버튼보다 자동 저장이 더 자연스럽다고 정리했다. 대신 닉네임/비밀번호/로그아웃처럼 명시적 행위가 필요한 액션은 작은 아이콘 버튼으로 분리한다. - 닉네임 제한은 설정 본문에 계속 설명을 남기기보다, 버튼이 나타나는 조건과 모달 내부 안내로만 전달하는 편이 더 깔끔하다고 정리했다. - 이메일은 현재 시스템에서 개인 설정 수정 흐름보다 로그인 식별자 의미가 더 강하고, 인증/중복/세션 전환을 함께 다뤄야 하므로 일단 읽기 전용으로 분리해 두는 편이 맞다고 정리했다. +- 환경변수 이름만 설명하는 것보다 실제 배포 파일에 샘플 값을 한 줄 남겨두는 편이 운영자 입장에서 훨씬 덜 헷갈리므로, `.env.production`에 20일 예시를 직접 두는 편이 낫다고 정리했다. ## 2026-04-07 v1.1.17 - 가이드 모달은 같은 기능의 이동 수단을 중복으로 두기보다, 화살표와 점 네비게이션만 유지하는 편이 더 깔끔하다고 정리했다. diff --git a/docs/map.md b/docs/map.md index c99026c..f2b393d 100644 --- a/docs/map.md +++ b/docs/map.md @@ -74,6 +74,7 @@ - 서버 엔트리: `backend/index.js` - 데이터 초기화: `backend/src/db.js` - 세부: 댓글/알림 관련 테이블(`tierlist_comments`, `comment_notifications`)은 여기서 생성되고, 기존 DB에 누락된 컬럼이 있으면 서버 시작 시 자동 보강한다. +- 운영 환경 변수 예시: 프로젝트 루트 [`.env.production`](/Users/bicute/Desktop/zenn.dev/tmaker/.env.production) 에 `NICKNAME_CHANGE_INTERVAL_DAYS=20` 를 두면 닉네임 재변경 대기 기간을 20일로 맞출 수 있다. - 로컬 DB 실행 설정: `docker-compose.yml` - 로컬 MariaDB 가이드: `docs/local-mariadb.md` - 인증 라우트: `backend/src/routes/auth.js` diff --git a/docs/spec.md b/docs/spec.md index 2cfa355..3c45c21 100644 --- a/docs/spec.md +++ b/docs/spec.md @@ -59,6 +59,7 @@ - 이메일은 로그인 계정 식별자 역할을 하므로 현재 개인 설정 화면에서는 변경 기능을 제공하지 않는다. - 닉네임 카드 본문에는 제한 설명을 상시 노출하지 않고, 변경 가능한 시점에만 아이콘 버튼을 보여준다. 제한 안내는 닉네임 변경 모달과 가이드 문구에서만 전달한다. - 닉네임 변경 제한 기간은 기본 14일이지만, 서버 환경변수 `NICKNAME_CHANGE_INTERVAL_MS` 또는 `NICKNAME_CHANGE_INTERVAL_DAYS`로 조절할 수 있다. `0`이면 제한을 끈다. 인증 응답에는 `nicknameUpdatedAt`, `nicknameChangeAvailableAt`, `nicknameChangeIntervalMs`, `nicknameChangeIntervalLabel`를 함께 포함하고, 프로필 저장 API는 제한 기간 안의 닉네임 변경 요청에 `nickname_change_locked` 오류를 반환한다. +- 운영 환경 예시로는 `.env.production`에 `NICKNAME_CHANGE_INTERVAL_DAYS=20`처럼 정수 일수를 넣어 주기를 바꾼다. - 왼쪽 공통 검색창은 현재 화면 범위만 검색한다. - 홈: 전체 공개 티어표 - 템플릿: 공개 템플릿 diff --git a/docs/todo.md b/docs/todo.md index 7b55b58..3962b34 100644 --- a/docs/todo.md +++ b/docs/todo.md @@ -9,6 +9,7 @@ - 설정 화면의 아이콘 버튼(`닉네임 변경`, `비밀번호 변경`, `로그아웃`)이 좁은 화면에서도 겹치지 않고, `title/aria-label` 기준 접근성도 자연스러운지 확인한다. - 닉네임 변경 제한 중일 때 설정 카드에서 아이콘이 완전히 사라지는 흐름이 사용성 측면에서 충분히 명확한지 실제 계정으로 확인한다. - 이메일 카드의 읽기 전용 문구만으로도 “로그인용 계정 이메일은 여기서 바꾸지 않는다”는 점이 충분히 전달되는지 확인한다. +- 운영 배포 환경에서 닉네임 변경 주기를 바꿀 때는 `.env.production`의 `NICKNAME_CHANGE_INTERVAL_DAYS` 값만 바꾸면 된다는 점을 배포 문서에도 추후 분리해둘지 검토한다. - 오래전에 가입한 기존 계정은 `nickname_updated_at` 백필 후에도 바로 변경 가능하고, 최근 가입/최근 변경 계정은 정확히 14일 제한이 걸리는지 서버 기준으로 확인한다. - 비밀번호 변경이 요약 카드의 작은 액션으로만 열리더라도 접근성이 떨어지지 않는지, 모달 `Esc` 닫기와 포커스 이동이 자연스러운지 확인한다. - `v1.1.17` 이후 설정의 가이드 모달에서 페이지를 넘길 때 썸네일 영역 위치가 이전보다 안정적으로 유지되는지 확인한다. diff --git a/docs/update.md b/docs/update.md index d1ba861..19d6bf2 100644 --- a/docs/update.md +++ b/docs/update.md @@ -12,6 +12,7 @@ - 닉네임 카드 본문에서는 변경 제한 설명을 제거하고, 실제 변경 가능한 시점에만 아이콘 버튼이 나타나도록 바꿨다. 제한 안내는 닉네임 변경 모달 안에서만 `한 번 변경하면 X가 지나야 다시 바꿀 수 있다`는 문구로 보여준다. - 설정 가이드 마지막 단계에도 닉네임 변경 버튼은 제한 기간이 지나야 다시 나타난다는 안내를 추가했다. - 이메일 카드는 `현재 로그인에 사용하는 계정 이메일이며, 설정 화면에서는 변경할 수 없다`는 안내로 보정해 로그인 계정 이메일의 성격을 더 분명하게 드러냈다. +- 운영 환경에서 바로 이해할 수 있도록 `.env.production`에 `NICKNAME_CHANGE_INTERVAL_DAYS=20` 샘플 값을 추가했다. 닉네임 제한을 20일로 바꾸고 싶다면 이 값을 그대로 두고, 다른 기간을 원하면 숫자만 바꾸면 된다. - 확인: `node --check backend/src/db.js`, `node --check backend/src/routes/auth.js`, `npm run build` ## 2026-04-07 v1.1.17