Intersection Observer API를 이용하여 스크롤 페이징 방식을 리팩토링 합니다.
Intersection Observer API를 이용하여 이미지가 화면에 보여야 할 시점에 load 되도록 처리합니다.
event delegation 방식을 이용하여 모달 띄우기 click 이벤트 제어 방식을 변경합니다.(미션2에서 수행)
API fetch 코드를 async , await 문을 이용하여 수정해주세요. 해당 코드들은 에러가 났을 경우를 대비해서 적절히 처리가 되어있어야 합니다.

API 의 status code 에 따라 에러 메시지를 분리하여 작성해야 합니다.

해법 : API 리팩토링 및 internal error 500 시 얼럿을 통해 오류 발생 확인하게 만들기
ES6 module 형태로 코드를 변경합니다.
webpack , parcel 과 같은 번들러를 사용하지 말아주세요.
해당 코드 실행을 위해서는 http-server 모듈을(로컬 서버를 띄우는 다른 모듈도 사용 가능) 통해 index.html 을 띄워야 합니다.
해법: 각 코드들 모듈 형태로 변경 및 Export, import 사용하게 리팩토링
Test suite와 각 test 의 목적을 이해하기 쉽게 기술해주세요.
각 컴포넌트 내부에 있는 함수들이나, Util 함수들을 테스트 할 수 있게 분리합니다.

해법: Test.js로 분리 및 각 함수 내부의 펑션들 분리