Overview
지브리 스튜디오에서 제공한 API로 만든 지브리 애니메이션 검색 웹사이트입니다.
Notice
- 웹사이트 제작 테스트를 위한 구현이 되어있습니다.
- React로 다시 제작할 예정입니다.
- 해당 웹사이트로 수익을 창출하지 않습니다.
웹사이트 톺아보기
각 페이지마다 가진 기능을 알려드리겠습니다.
메인 페이지:
웹사이트를 설명하는 페이지입니다.

Features
- 타이틀을 가운데에 위치시킨 상태에서 반응형으로 제작하기 위해 transform 속성 사용.
- 검색이 잘 될 수 있는 이미지의 alt 값 작성.
SUMMARY: Cavas로 애니메이션 느낌을 줄 예정. 우선 웹사이트를 설명하는 것으로 마무리.
검색 페이지:
지브리 애니메이션을 검색하는 페이지입니다.
.gif?table=block&id=6f2e3bcb-1387-48b8-8c51-18c5bc90c256&cache=v2)
댓글 기능입니다.

Features
- API에서 이미지를 지원하지 않아 firebase를 사용하여 이미지 삽입 (비동기 처리).
- 키보드 이벤트를 사용하여 검색 기능 구현.
- textContent와 innerHTML 메소드를 사용하여 페이지 구현.
- firebase realtime을 사용하여 실시간 댓글 기능 구현. 실시간 채팅 가능.
- 객체 구조 분해를 통한 작품 추천 구현.
SUMMARY: 지브리에서 API를 받아 고유 id 값에 맞는 상세페이지를 그려주는 검색 기능 제작.
이벤트 페이지:
지브리 사진으로 카드 뒤집기 게임을 할 수 있는 페이지입니다.

Notes
- 카드를 뒤집어 같은 그림을 맞추는 카드 뒤집기 게임입니다.
- 카드가 랜덤하게 섞인다는 점, 게임 후 팝업창을 띄우는 점에 신경썼습니다.
Features
- dataset을 이용하여 사용자 지정 테이터 설정.
- 카드를 랜덤하게 섞기위해 random 함수 사용. 이때, 각 배열의 요소를 랜덤한 수와 위치를 바꾸는 방식으로 셔플함.
- grid로 간편한 레이아웃 제작.
SUMMARY: 카드 배열을 랜덤하게 섞어 카드 뒤집기 게임을 만듦.
감독 페이지:
미야자키 하야오 감독 사진, 명언 그리고 대표작을 볼 수 있는 페이지입니다.

Features
- 이미지를 핑크 박스 밖으로 나오게 만들기위해 이미지만 단독으로 움직일 수 있도록 구현.
- grid를 이용하여 간편한 overview 레이아웃 제작.
- position relative와 absolute를 이용한 타임라인 구현.
- 모바일의 경우 x축으로 스크롤 바를 만들어 대응.
SUMMARY: 단순 이미지 삽입이 아닌 CSS로 요소들이 겹칠 수 있게 제작.
로그인 페이지:
회원가입 및 로그인이 가능한 페이지입니다.

개인 프로필 수정도 가능합니다.
.gif?table=block&id=6f25b871-46c4-40a4-88ac-70b736ea87f9&cache=v2)
Features
- 사용자로부터 이미지를 받는 input 태그 위에 버튼 태그를 덮어씌워 커스터마이징.
- 사진 삭제 버튼 클릭시 forEach로 firebase의 데이터를 삭제.
- change 버튼 클릭 시 데이터를 firebase로 보내 웹페이지에 그림.
- cancle 버튼 클릭 시 머물렀던 페이지로 되돌아감. 이때 js 파일 로드 속도 때문에 오류가 날 경우 appenChild를 이용해 JS를 동적으로 불러오게 함.
- 파일 용량 제한.
SUMMARY: firebase를 이용하여 authentication 기능 삽입 및 firebase와의 데이터(이미지) 통신을 사용한 프로필 수정 기능 구현.
TODO
🤔 의존성과 상태관리 공부하기
🤔 리액트로 지브리 포뇨 다시 구현하기