TODAY 1
|TOTAL 369
TMDB API를 활용하여 만든 영화 및 TV 프로그램 OTT 웹사이트입니다.
배포 링크: https://ozmovie.vercel.app/
제작 기간: 2025.06.24 ~ 07.15 (리팩토링 진행 중)
| id | pw |
|---|---|
| test@test.com | Test1234 |
Environment
Package & Build Tools
Code Quality
Development
Deployment
| 기능 | Method | Endpoint |
|---|---|---|
| 인기 영화 가져오기 | GET | /movie/popular |
| 7일 이내 방영 예정 TV 시리즈 | GET | /tv/on_the_air |
| 조건 기반 영화 검색 | GET | /discover/movie |
| 영화, TV, 인물 검색 | GET | /search/multi?query={keyword} |
| 일간 트렌딩 콘텐츠 | GET | /trending/all/day |
| 특정 TV 시즌 상세 | GET | /tv/{series_id}/season/{season_number} |
| TV 시리즈 추천 목록 | GET | /tv/{series_id}/recommendations |
| 영화 추천 목록 | GET | /movie/{movie_id}/recommendations |
| 용도 | URL |
|---|---|
| 포스터 등 (작은 이미지) | https://image.tmdb.org/t/p/w500 |
| 백드롭 등 (원본 해상도) | https://image.tmdb.org/t/p/original |
사용 예시 (TypeScript):
export const BASE_URL: string = 'https://image.tmdb.org/t/p/w500';
export const BASE_URL_ORIGIN: string = 'https://image.tmdb.org/t/p/original';
├── public/ # 정적 에셋 (이미지, 폰트)
├── src/
│ ├── components/ # 재사용 가능한 UI 컴포넌트
│ │ ├── common/ # 범용 컴포넌트
│ │ ├── detailModal/ # 상세 정보 모달 관련 컴포넌트
│ │ ├── skeletons/ # 로딩 상태 UI 스켈레톤
│ │ └── slider/ # 슬라이더 관련 컴포넌트
│ ├── constants/ # 상수
│ ├── contexts/ # React Context
│ ├── hooks/ # 커스텀 React Hooks
│ │ └── auth/ # 인증 관련 Hooks
│ ├── lib/ # 라이브러리 헬퍼, 유효성 검사 스키마
│ ├── pages/ # 라우팅되는 페이지 컴포넌트
│ ├── utils/ # 유틸리티 함수
│ ├── App.tsx
│ ├── main.tsx
│ ├── supabaseClient.ts # Supabase 클라이언트 설정
│ └── types.ts # 전역 TypeScript 타입 정의
├── .eslintrc.json # ESLint 설정
├── package.json
├── tailwind.config.js # Tailwind CSS 설정
├── tsconfig.json # TypeScript 설정
└── vite.config.ts # Vite 설정