팀 코드 리뷰 게시판 - 피드백 & 토론 플랫폼 - 바이브코딩 레시피
중급 PHP + JavaScript Laravel + React

팀 코드 리뷰 게시판 - 피드백 & 토론 플랫폼

리포지토리명 team-code-review-board
조회수 21 1건 제출 2일 전

문제 설명

프로젝트 개요

개발 팀을 위한 코드 리뷰 게시판을 만듭니다. 팀원들이 자신의 코드 스니펫을 공유하고, 다른 팀원들로부터 피드백을 받을 수 있는 플랫폼입니다. Laravel 12.x로 RESTful API를 구축하고, React 19 + Vite로 인터랙티브한 프론트엔드를 만듭니다.

필수 기능

  • 코드 스니펫 게시: 제목, 언어, 코드 내용, 설명 입력
  • 코드 하이라이팅: 프로그래밍 언어별 구문 강조 표시
  • 댓글 시스템: 각 코드 리뷰에 피드백 댓글 작성
  • 상태 관리: 리뷰 상태(검토 중, 승인됨, 수정 필요)
  • 필터링: 언어별, 상태별 필터링
  • 검색 기능: 제목/내용 기반 검색
  • 반응형 디자인: 모바일/태블릿/데스크톱 대응

보너스 기능

  • 코드 diff 비교 뷰어
  • 좋아요/투표 시스템
  • 마크다운 지원
  • 코드 스니펫 즐겨찾기
  • 실시간 댓글 알림

제약 조건

  • Laravel 12.x 사용 (구버전 금지)
  • React 19 + Vite 사용
  • RESTful API 설계 원칙 준수
  • SQLite 또는 MySQL 데이터베이스
  • 코드 하이라이팅 라이브러리 필수 (Prism.js 또는 Highlight.js)
  • CORS 설정 필수
  • API 응답은 JSON 형식
  • 프론트엔드는 Tailwind CSS 사용 권장

프롬프트 레시피

아래 프롬프트를 순서대로 AI에게 보내면 됩니다. 복사 버튼을 눌러 바로 사용하세요.

1
Step 1
Laravel 12.x 프로젝트를 생성하고 코드 리뷰 게시판을 위한 RESTful API를 구축하세요.

요구사항:
1. 프로젝트명: team-code-review-api
2. 두 개의 모델 생성:
   - CodeReview 모델: title(string), language(string), code(text), description(text), status(enum: 'pending', 'approved', 'needs_revision'), created_at, updated_at
   - Comment 모델: code_review_id(foreign key), author(string), content(text), created_at, updated_at
3. 마이그레이션 파일 생성 및 관계 설정 (CodeReview hasMany Comments)
4. API 라우트 구성 (routes/api.php):
   - GET /api/code-reviews (전체 목록, 필터링/검색 쿼리 파라미터 지원)
   - POST /api/code-reviews (새 리뷰 생성)
   - GET /api/code-reviews/{id} (상세 보기)
   - PUT /api/code-reviews/{id} (수정)
   - DELETE /api/code-reviews/{id} (삭제)
   - POST /api/code-reviews/{id}/comments (댓글 추가)
   - GET /api/code-reviews/{id}/comments (댓글 목록)
5. Controller 생성 (CodeReviewController, CommentController)
6. 검증 규칙 (Form Request) 추가
7. CORS 미들웨어 설정 (모든 origin 허용)
8. API 리소스 클래스로 JSON 응답 포맷 정리

데이터베이스는 SQLite 사용하고, .env 파일 설정도 포함해주세요.

기대 결과: Laravel API 서버가 완성됩니다. 마이그레이션 실행 후 /api/code-reviews 엔드포인트로 GET/POST 요청을 보내면 정상적으로 작동합니다. 필터링(language, status), 검색(title, description) 기능이 쿼리 파라미터로 동작하며, 댓글 API도 함께 작동합니다.

2
Step 2
React 19 + Vite 프로젝트를 생성하고 코드 리뷰 게시판의 메인 페이지를 구축하세요.

요구사항:
1. Vite로 React 프로젝트 생성 (프로젝트명: team-code-review-frontend)
2. Tailwind CSS 설치 및 설정
3. 폴더 구조:
   - src/components/ (컴포넌트)
   - src/services/ (API 호출 함수)
   - src/hooks/ (커스텀 훅)
4. API 서비스 파일 생성 (src/services/api.js):
   - axios 또는 fetch로 Laravel API 호출
   - BASE_URL은 http://localhost:8000
   - fetchCodeReviews, createCodeReview, fetchCodeReviewById, updateCodeReview, deleteCodeReview, addComment 함수 구현
5. 메인 페이지 컴포넌트 (App.jsx):
   - 코드 리뷰 목록 표시 (카드 형식)
   - 각 카드에 제목, 언어, 상태, 작성일 표시
   - 필터 UI (언어 선택, 상태 선택)
   - 검색 입력창
   - "새 리뷰 작성" 버튼
6. useState, useEffect 사용하여 데이터 로드 및 상태 관리
7. 반응형 그리드 레이아웃 (모바일: 1열, 태블릿: 2열, 데스크톱: 3열)

아직 상세 페이지나 작성 폼은 만들지 말고, 목록 보기와 필터링만 구현하세요.

기대 결과: React 앱이 실행되면 Laravel API에서 코드 리뷰 목록을 불러와 카드 형식으로 표시됩니다. 언어와 상태로 필터링할 수 있고, 검색어를 입력하면 실시간으로 목록이 필터링됩니다. UI는 Tailwind CSS로 깔끔하게 스타일링되어 있습니다.

3
Step 3
코드 리뷰 작성 폼과 상세 보기 페이지를 추가하세요.

요구사항:
1. 새로운 컴포넌트 생성:
   - CodeReviewForm.jsx: 새 리뷰 작성/수정 폼
   - CodeReviewDetail.jsx: 리뷰 상세 보기 + 댓글 섹션
2. CodeReviewForm 컴포넌트:
   - 입력 필드: 제목, 언어(select - JavaScript, Python, Java, PHP, Go, Rust 등), 코드(textarea), 설명(textarea)
   - 제출 버튼, 취소 버튼
   - form validation (빈 값 체크)
   - 제출 시 API 호출하여 새 리뷰 생성
   - 성공 시 목록으로 돌아가기
3. CodeReviewDetail 컴포넌트:
   - 리뷰 정보 표시 (제목, 언어, 상태, 작성일)
   - 코드 블록 표시 (Prism.js 또는 Highlight.js 사용하여 구문 강조)
   - 설명 표시
   - 상태 변경 버튼 (검토 중 → 승인됨 / 수정 필요)
   - 수정/삭제 버튼
   - 댓글 목록 표시
   - 댓글 작성 폼 (작성자명, 내용)
4. 간단한 라우팅 구현:
   - 목록 보기 (기본)
   - 작성 폼 (/create)
   - 상세 보기 (/review/:id)
   - useState로 현재 뷰 관리 또는 React Router 사용
5. Prism.js 설치 및 설정하여 코드 하이라이팅 적용

모든 컴포넌트는 Tailwind CSS로 스타일링하고, 반응형 디자인을 유지하세요.

기대 결과: "새 리뷰 작성" 버튼을 클릭하면 작성 폼이 표시되고, 폼을 제출하면 새 리뷰가 생성됩니다. 목록에서 카드를 클릭하면 상세 페이지로 이동하며, 코드는 구문 강조와 함께 보기 좋게 표시됩니다. 댓글을 작성할 수 있고, 상태를 변경하거나 리뷰를 수정/삭제할 수 있습니다.

4
Step 4
사용자 경험을 개선하기 위한 추가 기능을 구현하세요.

요구사항:
1. 로딩 상태 표시:
   - API 호출 중일 때 로딩 스피너 또는 스켈레톤 UI 표시
   - 각 컴포넌트에서 loading 상태 관리
2. 에러 핸들링:
   - API 호출 실패 시 에러 메시지 표시
   - 네트워크 오류, 404 오류 등 다양한 케이스 처리
   - 에러 바운더리 추가 (선택사항)
3. 토스트 알림:
   - 리뷰 생성/수정/삭제 성공 시 알림 표시
   - 댓글 추가 성공 시 알림 표시
   - react-hot-toast 또는 유사 라이브러리 사용
4. 빈 상태 UI:
   - 리뷰가 없을 때 "아직 리뷰가 없습니다" 메시지와 일러스트 표시
   - 댓글이 없을 때 "첫 댓글을 작성해보세요" 메시지 표시
5. 코드 복사 버튼:
   - 상세 페이지의 코드 블록 옆에 "복사" 버튼 추가
   - 클릭 시 클립보드에 코드 복사
6. 확인 다이얼로그:
   - 리뷰 삭제 시 확인 다이얼로그 표시
   - "정말 삭제하시겠습니까?" 메시지
7. 페이지네이션 또는 무한 스크롤 (선택):
   - 리뷰가 많을 경우를 대비한 페이지네이션

모든 기능은 접근성과 사용성을 고려하여 구현하세요.

기대 결과: 앱이 더 완성도 있게 동작합니다. API 호출 중에는 로딩 인디케이터가 표시되고, 오류 발생 시 친절한 에러 메시지가 나타납니다. 리뷰나 댓글을 추가/수정/삭제할 때마다 토스트 알림이 표시되어 사용자에게 피드백을 줍니다. 코드 복사 버튼으로 손쉽게 코드를 복사할 수 있습니다.

5
Step 5
최종 완성도를 높이기 위한 마무리 작업을 수행하세요.

요구사항:
1. 코드 정리 및 리팩토링:
   - 중복 코드 제거
   - 커스텀 훅 분리 (useCodeReviews, useCodeReviewDetail 등)
   - 컴포넌트 분리 (CodeReviewCard, CommentItem, FilterBar 등)
2. 성능 최적화:
   - React.memo로 불필요한 리렌더링 방지
   - useMemo, useCallback 활용
   - 이미지 최적화 (있는 경우)
3. 접근성 개선:
   - 시맨틱 HTML 사용
   - ARIA 레이블 추가
   - 키보드 네비게이션 지원
4. 반응형 디자인 최종 점검:
   - 모바일, 태블릿, 데스크톱에서 모두 테스트
   - 작은 화면에서 햄버거 메뉴 추가 (필요시)
5. README 작성:
   - 프로젝트 설명
   - 설치 및 실행 방법 (백엔드/프론트엔드)
   - 사용 기술 스택
   - 주요 기능 스크린샷
   - API 엔드포인트 문서
6. 환경 변수 설정:
   - .env.example 파일 생성
   - API URL 등 환경 변수로 관리
7. 보너스 기능 중 하나 추가 (선택):
   - 코드 diff 비교 뷰어
   - 좋아요/투표 시스템
   - 마크다운 지원

프로덕션 배포를 고려한 최종 점검을 완료하세요.

기대 결과: 프로젝트가 완전히 완성됩니다. 코드가 깔끔하게 정리되고, 성능이 최적화되며, 접근성이 개선됩니다. README 파일을 통해 다른 개발자가 쉽게 프로젝트를 이해하고 실행할 수 있습니다. 모든 화면 크기에서 완벽하게 작동하며, 실제 팀에서 사용할 수 있는 수준의 코드 리뷰 플랫폼이 완성됩니다.

제출된 작품 (1)

로그인 후 제출

팀 코드 리뷰 게시판

리자
리자
2일 전 · Claude Code

개발팀을 위한 코드 리뷰 및 피드백 공유 플랫폼으로, 효율적인 코드 품질 향상과 팀 협업을 지원합니다.

조회수 16 댓글수 0 추천수 0

댓글 (0)

로그인 후 댓글을 남길 수 있습니다.
아직 댓글이 없습니다. 첫 번째 댓글을 남겨보세요!