영화 리뷰 북마크 - 나만의 감상 노트 - 바이브코딩 레시피
입문 PHP Laravel

영화 리뷰 북마크 - 나만의 감상 노트

리포지토리명 movie-review-bookmark
조회수 125 2건 제출 4일 전

문제 설명

영화 리뷰 북마크 만들기

좋아하는 영화를 기록하고 간단한 리뷰를 남길 수 있는 북마크 애플리케이션입니다. Laravel 12.x의 기본 기능만으로 영화 제목, 감상평, 별점을 저장하고 조회할 수 있습니다.

필수 기능

  • 영화 추가 폼 (제목, 감독, 개봉년도, 별점, 한줄평)
  • 저장된 영화 목록 카드 형태로 표시
  • 별점 시각화 (⭐ 이모지 또는 CSS 별 표시)
  • 영화 삭제 기능
  • 간단한 반응형 디자인 (Tailwind CSS 사용)
  • SQLite 데이터베이스 사용

보너스 기능

  • 별점별 필터링 (5점만 보기, 4점 이상 보기 등)
  • 영화 포스터 URL 입력 및 이미지 표시
  • 감상 날짜 자동 기록
  • 개봉년도 순 정렬

학습 목표

  • Laravel의 기본 MVC 패턴 이해
  • Blade 템플릿 엔진 사용법
  • 마이그레이션을 통한 데이터베이스 테이블 생성
  • 간단한 CRUD 작업 (Create, Read, Delete)
  • Tailwind CSS를 활용한 UI 구성

제약 조건

  • Laravel 12.x 사용 (최신 버전 필수)
  • SQLite 데이터베이스 사용 (별도 설치 불필요)
  • Tailwind CSS 사용 (Laravel 기본 제공)
  • 별도 인증 시스템 불필요 (단일 사용자 가정)
  • JavaScript는 최소한으로 사용 (별점 입력 정도만)
  • 외부 API 연동 금지

프롬프트 레시피

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

1
Step 1
Laravel 12.x 프로젝트를 생성하고 영화 리뷰 북마크 애플리케이션의 기본 구조를 만들어주세요.

요구사항:
1. 프로젝트명: MovieReviewBookmark
2. SQLite 데이터베이스 설정 (.env 파일 수정)
3. Movie 모델 생성 (php artisan make:model Movie -m)
4. 마이그레이션 파일에 다음 컬럼 추가:
   - title (string, 영화 제목)
   - director (string, 감독)
   - release_year (integer, 개봉년도)
   - rating (integer, 1~5 별점)
   - review (text, 한줄평)
   - timestamps (생성/수정 시간)
5. 마이그레이션 실행
6. Tailwind CSS 설정 확인 (Laravel 12.x 기본 포함)

완료 후 프로젝트 구조와 데이터베이스 연결 상태를 확인해주세요.

기대 결과: Laravel 프로젝트가 생성되고, SQLite 데이터베이스 파일이 생성되며, movies 테이블이 지정된 컬럼으로 마이그레이션됩니다. Movie 모델 파일이 app/Models 디렉토리에 생성됩니다.

2
Step 2
영화 목록을 보여주고 새 영화를 추가할 수 있는 메인 페이지를 만들어주세요.

요구사항:
1. MovieController 생성 (php artisan make:controller MovieController)
2. 라우트 설정 (routes/web.php):
   - GET '/' → index 메서드 (영화 목록 표시)
   - POST '/movies' → store 메서드 (영화 저장)
   - DELETE '/movies/{id}' → destroy 메서드 (영화 삭제)
3. index 메서드: 모든 영화를 최신순으로 조회하여 뷰에 전달
4. Blade 뷰 생성 (resources/views/movies/index.blade.php):
   - Tailwind CSS로 깔끔한 레이아웃 구성
   - 상단에 "나의 영화 리뷰 북마크" 제목
   - 영화 추가 폼 (제목, 감독, 개봉년도, 별점 선택, 한줄평 textarea)
   - 별점은 1~5 라디오 버튼 또는 select로 구성
   - 폼 유효성 검사 에러 표시 영역
   - 하단에 영화 목록 표시 영역 (아직 데이터 없으면 "아직 등록된 영화가 없습니다" 메시지)

디자인은 현대적이고 깔끔하게, 카드 레이아웃을 사용해주세요.

기대 결과: 메인 페이지가 생성되고, 영화 추가 폼이 표시됩니다. 아직 영화를 추가하지 않았으므로 빈 목록 상태 메시지가 보입니다. 폼의 모든 입력 필드가 적절하게 스타일링되어 있습니다.

3
Step 3
영화 저장 기능과 목록 표시 기능을 완성해주세요.

요구사항:
1. MovieController의 store 메서드 구현:
   - 폼 데이터 유효성 검사 (모든 필드 required, rating은 1~5 사이)
   - Movie 모델로 데이터 저장
   - 성공 메시지와 함께 메인 페이지로 리다이렉트
2. index.blade.php 영화 목록 표시 부분 완성:
   - 각 영화를 카드 형태로 표시 (grid 레이아웃, 반응형)
   - 카드 내용: 제목(큰 글씨), 감독, 개봉년도, 별점(⭐ 이모지로 시각화), 한줄평
   - 각 카드에 삭제 버튼 추가 (빨간색, 확인 메시지)
   - 등록 날짜 표시 (작은 글씨, 회색)
3. 성공/에러 메시지 표시 (session flash 사용)
4. 영화가 없을 때와 있을 때 화면이 자연스럽게 전환되도록

별점은 rating 값만큼 채워진 별(⭐)과 나머지는 빈 별(☆)로 표시해주세요.

기대 결과: 영화 추가 폼에서 데이터를 입력하고 제출하면 데이터베이스에 저장되고, 페이지가 새로고침되면서 방금 추가한 영화가 카드 형태로 목록에 표시됩니다. 별점이 시각적으로 표현되고, 모든 정보가 보기 좋게 배치됩니다. 삭제 버튼이 각 카드에 표시됩니다.

제출된 작품 (2)

로그인 후 제출

개인 영화 리뷰를 체계적으로 관리하고 북마크할 수 있는 웹 애플리케이션

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

영화를 보고 느낀 감상을 기록하고 북마크로 관리할 수 있는 개인 영화 리뷰 관리 서비스

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

댓글 (0)

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