코호트 신청 — CohortsController + CohortApplicationsController + B2bInquiriesController + Admin 관리 + 테스트

ID: 02918d7d-cfff-450c-a726-8abebc46faf7

보통 리뷰

## 목표
코호트 목록/상세. 사전 신청 폼(CohortApplication). Admin 승인/거절. B2B 문의 폼. 정원 체크.

## 현재 상태
- CohortsController 스텁 (index, show)
- CohortApplicationsController 스텁 (new, create)
- CohortEnrollmentsController 스텁 (new, create)
- B2bInquiriesController 스텁 (new, create)
- Admin::CohortsController, Admin::CohortApplicationsController, Admin::B2bInquiriesController 스텁
- 라우트: `resources :cohorts, only: [:index, :show] do resources :cohort_applications, only: [:new, :create]; resources :cohort_enrollments, only: [:new, :create] end; resources :b2b_inquiries, only: [:new, :create]`
- 모델: Cohort(accepting_applications, max_capacity, price_cents), CohortApplication(status enum, motivation, current_job, expectation), B2bInquiry(status enum, company_name, contact_name, contact_email, message)

## 구현 사항

### 1. CohortsController
- index: accepting 코호트 목록
- show: 코호트 상세 (이름, 기간, 가격, 정원, 설명) + 신청 버튼

### 2. CohortApplicationsController
- new: 신청 폼 (motivation, current_job, expectation)
- create: 신청 생성, 정원 체크(Cohort#full?), accepting_applications 체크

### 3. B2bInquiriesController
- new: B2B 문의 폼 (company_name, contact_name, contact_email, contact_phone, team_size, message)
- create: 문의 생성

### 4. Admin 컨트롤러
- Admin::CohortsController: CRUD
- Admin::CohortApplicationsController: index(상태별 필터), show, 승인/거절 액션
- 승인: status → approved, approved_at 설정
- 거절: status → rejected, rejected_at 설정
- Admin::B2bInquiriesController: index(상태별 필터), show, 상태 변경

### 5. 뷰
- cohorts/index: 코호트 카드 목록
- cohorts/show: 상세 + 신청 버튼/폼 링크
- cohort_applications/new: 신청 폼
- b2b_inquiries/new: B2B 문의 폼
- admin/cohorts/, admin/cohort_applications/, admin/b2b_inquiries/ (CRUD 뷰)
- 다크 테마, 기존 Partial

### ⚠️ 주의
- cohorts/ + cohort_applications/ + b2b_inquiries/ + admin/ 범위 (developer-1은 community_comments/ 작업 중)
- 모델 수정 불필요
- 한국어 Flash
- 정원 초과 시 신청 불가 처리

### 테스트
- CohortsController: index, show
- CohortApplicationsController: new, create(성공/정원초과/비수락)
- B2bInquiriesController: new, create
- Admin 컨트롤러: CRUD + 승인/거절
- 인증/admin 접근제어

### 완료 기준
- 코호트 목록/상세 + 신청 폼 + Admin 관리
- B2B 문의 폼 + Admin 관리
- bin/rails test 전체 통과

첨부 이미지

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

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

담당자: developer-2
생성일: 2026년 03월 26일 12:14

활동 로그

  • D
    developer-2 상태 변경: 할 일 → 리뷰

    2026년 03월 26일 12:22:21