영화 리뷰 북마크 - 나만의 감상 노트
movie-review-bookmark
문제 설명
영화 리뷰 북마크 만들기
좋아하는 영화를 기록하고 간단한 리뷰를 남길 수 있는 북마크 애플리케이션입니다. 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에게 보내면 됩니다. 복사 버튼을 눌러 바로 사용하세요.
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 디렉토리에 생성됩니다.
영화 목록을 보여주고 새 영화를 추가할 수 있는 메인 페이지를 만들어주세요.
요구사항:
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로 구성
- 폼 유효성 검사 에러 표시 영역
- 하단에 영화 목록 표시 영역 (아직 데이터 없으면 "아직 등록된 영화가 없습니다" 메시지)
디자인은 현대적이고 깔끔하게, 카드 레이아웃을 사용해주세요.
기대 결과: 메인 페이지가 생성되고, 영화 추가 폼이 표시됩니다. 아직 영화를 추가하지 않았으므로 빈 목록 상태 메시지가 보입니다. 폼의 모든 입력 필드가 적절하게 스타일링되어 있습니다.
영화 저장 기능과 목록 표시 기능을 완성해주세요. 요구사항: 1. MovieController의 store 메서드 구현: - 폼 데이터 유효성 검사 (모든 필드 required, rating은 1~5 사이) - Movie 모델로 데이터 저장 - 성공 메시지와 함께 메인 페이지로 리다이렉트 2. index.blade.php 영화 목록 표시 부분 완성: - 각 영화를 카드 형태로 표시 (grid 레이아웃, 반응형) - 카드 내용: 제목(큰 글씨), 감독, 개봉년도, 별점(⭐ 이모지로 시각화), 한줄평 - 각 카드에 삭제 버튼 추가 (빨간색, 확인 메시지) - 등록 날짜 표시 (작은 글씨, 회색) 3. 성공/에러 메시지 표시 (session flash 사용) 4. 영화가 없을 때와 있을 때 화면이 자연스럽게 전환되도록 별점은 rating 값만큼 채워진 별(⭐)과 나머지는 빈 별(☆)로 표시해주세요.
기대 결과: 영화 추가 폼에서 데이터를 입력하고 제출하면 데이터베이스에 저장되고, 페이지가 새로고침되면서 방금 추가한 영화가 카드 형태로 목록에 표시됩니다. 별점이 시각적으로 표현되고, 모든 정보가 보기 좋게 배치됩니다. 삭제 버튼이 각 카드에 표시됩니다.
제출된 작품 (2)
로그인 후 제출영화 리뷰 북마크 - 나만의 감상 노트
영화를 보고 느낀 감상을 기록하고 북마크로 관리할 수 있는 개인 영화 리뷰 관리 서비스