Files
msgapp/.cursor/.prompt/_게시판 대분류작업.md

44 lines
2.1 KiB
Markdown
Raw Normal View History

### 목표
- 게시판 대분류(상위 카테고리) 도입: 스키마, API, UI 반영
### 작업 목록
스키마/마이그레이션
- [x] 1.1 Prisma에 `BoardCategory` 모델 추가(id, name, slug, sortOrder, status)
- [x] 1.2 `Board` 모델에 `categoryId` 필드와 relation 추가
- [x] 1.3 관련 인덱스/`@@map` 정의 업데이트
- [x] 1.4 마이그레이션 생성 및 적용(`npx prisma migrate dev`)
- [x] 1.5 `prisma/seed.js`에 기본 카테고리와 매핑 데이터 추가
- [x] 1.6 ERD 재생성(`npx prisma generate`)
API
- [x] 2.1 Admin: 카테고리 CRUD 엔드포인트 추가(`src/app/api/admin/categories/route.ts`)
- [x] 2.2 Admin: 게시판 생성/수정 요청에 `categoryId` 허용(`src/app/api/admin/boards/...`)
- [x] 2.3 Public: 게시판 목록 조회에 `category` 포함 및 `?category` 필터 지원(`src/app/api/boards/route.ts`)
- [x] 2.4 RBAC 검토: `ADMIN` 또는 `BOARD` 권한으로 카테고리 관리 허용
프론트엔드
- [ ] 3.1 Admin 보드 관리 화면에 카테고리 선택(Select) 추가(`src/app/admin/boards/page.tsx`)
- [ ] 3.2 Admin 카테고리 관리 페이지/리스트/생성·수정 UI 추가(`src/app/admin/page.tsx` 또는 신규 경로)
- [ ] 3.3 메인/게시판 목록에 대분류 필터/탭 UI 추가(`src/app/boards/page.tsx` 등)
- [ ] 3.4 라우팅/쿼리 파라미터 연동(`?category=slug` 또는 `id`)
클라이언트 라이브러리/검증
- [ ] 4.1 `src/lib/api.ts`에 카테고리 API 클라이언트 추가
- [ ] 4.2 `src/lib/queryKeys.ts``categories` 키 추가
- [ ] 4.3 폼 검증 스키마 업데이트(게시판 생성/수정에 `categoryId` 처리)
데이터 마이그레이션/호환
- [ ] 5.1 기존 게시판에 기본 카테고리 자동 지정 스크립트 작성
- [ ] 5.2 배포 전 마이그레이션/시드 실행 체크리스트 작성
테스트/확인
- [ ] 6.1 API 엔드투엔드 확인(생성/수정/조회/필터)
- [ ] 6.2 UI 스모크 테스트(카테고리 선택 및 필터 동작)
- [ ] 6.3 권한별 접근 제어 확인
문서
- [ ] 7.1 `README.md`에 카테고리 모델/사용법/마이그레이션 절차 추가