백로그
0할 일
0진행 중
0리뷰
1쇼케이스 페이지 — ShowcaseServicesController CRUD + 카테고리 필터 + 퍼블릭 접근 + 테스트
## 목표 ShowcaseServices CRUD. 카테고리별 필터. 카드 그리드. 퍼블릭(/showcase) + 인증(CRUD) 접근. ## 현재 상태 - ShowcaseServicesController 스텁 (index, show, new, create, edit, update) - 라우트: `resources :showcase_services, only: [:index, :show, :new, :create, :edit, :update]` - PagesController에 `get "/showcase", to: "pages#showcase"` 퍼블릭 경로도 있음 - ShowcaseService 모델: belongs_to :user, belongs_to :project(optional). title, description, service_url, thumbnail_url, category, days_to_build, user_count, published, likes_count. scope :published ## 구현 사항 ### 1. ShowcaseServicesController - index: published만 표시, 카테고리 필터(?category=...), 카드 그리드 - show: 상세 (service_url 외부 링크, thumbnail, 설명) - new/create: Current.user.showcase_services.build, project 연결(optional) - edit/update: 소유자만 - strong params: title, description, service_url, thumbnail_url, category, days_to_build, project_id, published ### 2. PagesController#showcase (퍼블릭) - 이미 존재하는 pages#showcase → published 쇼케이스 목록 표시 - allow_unauthenticated_access 이미 설정됨 ### 3. 뷰 - **index**: 카테고리 필터 탭, 카드 그리드(title, thumbnail, category, user_count), "등록하기" 버튼 - **show**: 상세 (service_url 링크, description, days_to_build, user_count), 수정(소유자) - **new/edit**: 폼 (_form partial) - 다크 테마, 기존 Partial (_card, _button) ### 4. 퍼블릭 접근 - /showcase (pages#showcase) → 비인증 접근 가능 - /showcase_services (인증 필요 — CRUD) ### ⚠️ 주의 - showcase_services/ + pages/ 범위만 (developer-1은 community_posts/ 작업 중) - 소유자 접근제어 (edit/update) - published만 index에 표시 - 한국어 Flash ### 테스트 - CRUD 전체, 인증/소유자, 카테고리 필터, published 필터 - pages#showcase 퍼블릭 접근 ### 완료 기준 - 쇼케이스 카드 그리드 + 카테고리 필터 - 소유자 CRUD + 퍼블릭 조회 - bin/rails test 전체 통과