S-FLEX 프로젝트를 소개합니다!
이 프로젝트는 React, TypeScript, Node.js 및 MongoDB를 사용하여 구축된 넷플릭스 클론입니다. React Query, React Hook, Styled Components 등과 같은 강력한 라이브러리를 활용하여 최적화된 사용자 인터페이스를 제공해 보았습니다.
영화 및 TV 프로그램 탐색
장르 선택
검색 기능
마이 페이지
sessionStorage에 정보를 저장하여 페이지 새로고침 후에도 유지.인증
📦프론트엔드 src
┣ 📂Api
┃ ┣ 📜Api.ts
┃ ┣ 📜GenreApi.ts
┃ ┣ 📜MovieApi.ts
┃ ┗ 📜TvApi.ts
┣ 📂Components
┃ ┣ 📂Genre
┃ ┃ ┣ 📜GenreBigMovie.tsx
┃ ┃ ┣ 📜GenreBigTv.tsx
┃ ┃ ┣ 📜SliderGenre.tsx
┃ ┃ ┗ 📜SliderGenreTv.tsx
┃ ┣ 📂Loading
┃ ┃ ┣ 📜.DS_Store
┃ ┃ ┣ 📜Loading.tsx
┃ ┃ ┗ 📜MainLoading.tsx
┃ ┣ 📂Movie
┃ ┃ ┣ 📜Movie.tsx
┃ ┃ ┗ 📜Slider.tsx
┃ ┣ 📂Tv
┃ ┃ ┣ 📜SeasonModal.tsx
┃ ┃ ┣ 📜SeasonSelector.tsx
┃ ┃ ┣ 📜SliderTv.tsx
┃ ┃ ┗ 📜TvComponent.tsx
┃ ┣ 📜.DS_Store
┃ ┣ 📜CategoryFont.tsx
┃ ┣ 📜Footer.tsx
┃ ┣ 📜Header.tsx
┃ ┣ 📜ProfileContext.tsx
┃ ┣ 📜Video.tsx
┃ ┗ 📜profil.tsx
┣ 📂Routes
┃ ┣ 📜DropdownMenu.tsx
┃ ┣ 📜GenreMovie.tsx
┃ ┣ 📜GenreTv.tsx
┃ ┣ 📜Home.tsx
┃ ┣ 📜Search.tsx
┃ ┣ 📜SearchSlider.tsx
┃ ┣ 📜TV.tsx
┃ ┣ 📜login.tsx
┃ ┗ 📜signup.tsx
┣ 📂styled
┃ ┗ 📜loginCss.tsx
┣ 📂utils
┃ ┣ 📜PrivateRoute.tsx
┃ ┣ 📜apiUtils.tsx
┃ ┗ 📜authUtils.tsx
┣ 📜.DS_Store
┣ 📜App.tsx
┣ 📜atom.tsx
┣ 📜index.tsx
┣ 📜styled.d.ts
┣ 📜theme.ts
┗ 📜utils.ts
📦 백엔드 src
┣ 📂middleware
┃ ┣ 📜loginAuth.js
┃ ┗ 📜validator.js
┣ 📂models
┃ ┗ 📜User.js
┣ 📜.env
┣ 📜db.js
┣ 📜emailAuth.js
┣ 📜index.js
┗ 📜server.js
| POST /sendVerification | 사용자 이메일 인증 전송 |
| POST /verifyCode | 인증번호 일치 검증 |
| POST /user | 사용자 회원가입 |
| POST /login | 사용자 로그인 |
| GET /user | 사용자 정보 가져오기 |
| GET /api/movie/now_playing | 현재 상영중인 영화 가져오기 |
| GET /api/movie/upcoming | 개봉 예정 영화 가져오기 |
| GET /movie/top_rated | 순위권 영화 가져오기 |
| GET /api/tv/popular | 인기 순위별 tv show 가져오기 |
| GET /api/tv/on_the_air | 현재 방영중인 tv show 가져오기 |
| GET /api/tv/top_rated | 순위권 tv show 가져오기 |
| GET /api/search | 콘텐츠 검색 |
| GET /api/genre/movie/list | 영화 장르 list 가져오기 |
| GET /api/genre/tv/list | tv show 장르 list 가져오기 |
| GET /api/discover/movie | 장르 별 영화 상세 정보 가져오기 |
| GET /api/discover/tv | 장르 별 tv show 상세 정보 가져오기 |
| GET /api/search/multi?query=${keyword} | keyword 검색 결과 가져오기 |
| GET /api/movie/${movieId}/videos | 영화 예고편 가져오기 |
| GET /api/tv/${tvId}/videos | tv 예고편 가져오기 |
커뮤니티의 기여를 환영합니다. 레포지토리를 포크하고 개선 사항이나 버그 수정을 위한 풀 리퀘스트를 제출해주시면 감사하겠습니다 :)
프로젝트는 MIT 라이선스를 따릅니다. 자세한 사항은 LICENSE 파일을 참조하세요.
GitHub 배포 주소: https://seoyeon1123.github.io/S-FLEX/