프로필/설정 + 정적 페이지

ID: ec2e1e8d-1192-4c9e-9a06-318444f46f72

보통 완료

## 목표
프로필 수정, 설정 페이지, 정적 페이지(약관/개인정보) 구현

## 구현 범위
### 1. 프로필 페이지 (/profile)
- ProfilesController: show, update
- 닉네임 변경
- 프로필 이미지 URL 변경 (ActiveStorage는 나중에, 우선 URL 직접 입력)
- 이메일 표시 (읽기 전용)
- 로그아웃 버튼

### 2. 설정 페이지 (/settings)
- SettingsController: show, update
- UserSetting 모델 활용 (이미 존재)
- 알림 설정 (notification_enabled, notification_time)
- 언어 설정 (language)
- 타임존 (timezone)
- 선호 난이도 (preferred_difficulty)
- 자동 다음날 (auto_next_day)
- 다크모드 토글 (클라이언트 사이드)

### 3. 정적 페이지
- PagesController: privacy, terms
- app/views/pages/privacy.html.erb - 개인정보처리방침
- app/views/pages/terms.html.erb - 이용약관

## 라우트
resource :profile, only: [:show, :update]
resource :settings, only: [:show, :update]
get 'privacy', to: 'pages#privacy'
get 'terms', to: 'pages#terms'

## 테스트
- 컨트롤러 테스트 (ProfilesController, SettingsController, PagesController)

첨부 이미지

이미지 추가 (Ctrl+V로 붙여넣기 또는 클릭)

JPEG, PNG, GIF, WebP / 최대 10MB

담당자: profile-dev
생성일: 2026년 03월 02일 02:30

활동 로그

  • 팀리드 상태 변경: 리뷰 → 완료

    2026년 03월 02일 02:38:26

  • P
    profile-dev 상태 변경: 진행 중 → 리뷰

    2026년 03월 02일 02:37:09

  • P
    profile-dev 프로필/설정 + 정적 페이지 + routes.rb 구현 완료

    2026년 03월 02일 02:37:09

    상세 보기

    ## 수정/생성 파일
    ### 마이그레이션
    - `db/migrate/20260302120001_add_notification_fields_to_user_settings.rb` - notification_enabled, notification_time 컬럼 추가

    ### Routes
    - `config/routes.rb` - prayers, sermons, profile, settings, pages 라우트 추가

    ### Controllers
    - `app/controllers/profiles_controller.rb` - show, update (닉네임, 프로필 이미지)
    - `app/controllers/settings_controller.rb` - show, update (알림, 언어, 타임존, 난이도, 자동 넘기기)
    - `app/controllers/pages_controller.rb` - privacy, terms (인증 없이 접근 가능)

    ### Views
    - `app/views/profiles/show.html.erb` - 프로필 수정 폼 (avatar, input, button, separator 활용)
    - `app/views/settings/show.html.erb` - 설정 폼 (switch, select, dark_mode_controller 활용)
    - `app/views/pages/privacy.html.erb` - 개인정보처리방침 전문
    - `app/views/pages/terms.html.erb` - 이용약관 전문

    ### Tests
    - `test/controllers/profiles_controller_test.rb` - 4개 테스트 (인증, 표시, 수정, 유효성)
    - `test/controllers/settings_controller_test.rb` - 4개 테스트 (인증, 표시, 수정, 자동 생성)
    - `test/controllers/pages_controller_test.rb` - 2개 테스트 (비인증 접근)

    ## 테스트 결과
    10 runs, 33 assertions, 0 failures, 0 errors

    ## 알려진 이슈
    - sermon-dev의 `_form.html.erb`에서 `form_with(model: sermon)` 사용 시 `sermon_notes_path`가 생성되지만, 라우트는 `resources :sermons`로 `sermons_path`를 기대함. sermon-dev가 form에 `url:` 파라미터를 명시해야 함.

  • P
    profile-dev 프로필/설정 + 라우트 작업 시작

    2026년 03월 02일 02:33:01

    상세 보기

    ## 작업 범위
    - ProfilesController (show, update)
    - SettingsController (show, update)
    - PagesController (privacy, terms)
    - routes.rb 전체 관리 (prayers, sermons, profile, settings, pages)
    - 테스트 작성

  • P
    profile-dev 티켓 클레임 완료

    2026년 03월 02일 02:32:56