2.1 KiB
2.1 KiB
목표
- 게시판 대분류(상위 카테고리) 도입: 스키마, API, UI 반영
작업 목록
스키마/마이그레이션
- 1.1 Prisma에
BoardCategory모델 추가(id, name, slug, sortOrder, status) - 1.2
Board모델에categoryId필드와 relation 추가 - 1.3 관련 인덱스/
@@map정의 업데이트 - 1.4 마이그레이션 생성 및 적용(
npx prisma migrate dev) - 1.5
prisma/seed.js에 기본 카테고리와 매핑 데이터 추가 - 1.6 ERD 재생성(
npx prisma generate)
API
- 2.1 Admin: 카테고리 CRUD 엔드포인트 추가(
src/app/api/admin/categories/route.ts) - 2.2 Admin: 게시판 생성/수정 요청에
categoryId허용(src/app/api/admin/boards/...) - 2.3 Public: 게시판 목록 조회에
category포함 및?category필터 지원(src/app/api/boards/route.ts) - 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에 카테고리 모델/사용법/마이그레이션 절차 추가