강의는 먼저 Rails 8 환경과 Active Storage, Image Processing gem 설치를 필수 요구사항으로 제시합니다. 이후 Instrumental Components gem을 추가하여 인증 시스템 업그레이드를 시작합니다. 가장 먼저 rails instrumental:authentication
명령을 통해 세션(session) 및 비밀번호(password) 관련 라우트를 /login
, /signup
과 같이 직관적으로 변경하고, 새로운 회원가입 컨트롤러와 뷰를 생성합니다. 이 과정에서 사용자 이름, 성, 타임존 필드를 사용자 테이블에 추가하기 위한 데이터베이스 마이그레이션이 이루어집니다.
Instrumental Components는 단순한 기능 추가를 넘어 사용자 인터페이스(UI) 및 경험(UX) 개선에 중점을 둡니다. 로그인 및 회원가입 화면은 배경 이미지와 추천사(testimonial) 등을 포함한 세련된 디자인으로 업그레이드되며, 로고 커스터마이징 및 폼 스타일링이 자동으로 적용됩니다. 또한, rails instrumental:layouts:collapsible_sidebar
명령을 통해 반응형 웹 디자인을 지원하는 접이식 사이드바 레이아웃을 애플리케이션 기본 레이아웃으로 설정합니다. 이 레이아웃은 모바일 최적화 및 다크 모드를 기본으로 지원합니다.
사용자 프로필 관리 기능은 특히 강조됩니다. rails instrumental:authentication:user_menu
명령을 통해 상단 우측에 사용자 메뉴가 추가되며, 여기에는 프로필 편집, 비밀번호 변경, 아바타 관리 등의 옵션이 포함됩니다. 아바타 기능은 Gravatar 연동을 지원하여 기존 Gravatar 사용자의 경우 별도의 이미지 업로드 없이 프로필 이미지가 자동 적용됩니다. Gravatar를 사용하지 않는 사용자는 Active Storage를 통해 직접 아바타 이미지를 업로드할 수 있으며, 이니셜 기반의 기본 아바타도 제공됩니다. 또한, 사용자의 현재 타임존을 자동으로 감지하여 저장하는 기능이 Stimulus JS 컨트롤러를 통해 구현되어 편의성을 높입니다. 마지막으로, 프로필 관리 화면 내 서브 내비게이션(sub-navigation)과 브레드크럼(breadcrumbs) 또한 Instrumental Components에 의해 자동으로 적용되어 사용자 편의성을 극대화합니다.