이번 프로젝트를 하면서 처음으로 작성해 본 저희팀의 프로젝트 서비스 아키텍쳐입니다
행정안전부의 착한가격업소 API와 카카오 위치 API를 이용하여 서비스를 제공합니다
next.js를 사용하여 페이지의 초기 로딩 속도를 향상 시키며, 타입스크립트 예측 가능하고 안정적인 코드 작성하고자 했습니다
리덕스 툴킷으로 전역 상태 관리를 하면서, Tanstack React Query로 비동기 관련 로직과 상태를 관리 하였고
사용자 인증과 데이터베이스 등의 서버 기능 제공하는 Firebase를 사용했습니다
반응형 웹 디자인에 유용한 클래스를 제공하는 테일윈드로 스타일링을 했습니다
zustand는 간결하고 직관적 문법을 제공하여 가벼운 라이브러리지만,
불변성 관리 및 비동기 작업을 더 효율적이고 안정적으로 다루기 위해
비교적 익숙한 Toolkit으로 채택
사용자의 편의를 위해 소셜 로그인은 구글, 카카오를 채택
하지만 구글과 달리 카카오는 파이어베이스에 연동하는 것에 어려움을 겪고 있고
next-auth 라이브러리를 활용하여 구현 중
puppeteer를 활용해야 하는 카카오맵의 리뷰 사진과,
cherrio로 크롤링이 가능한 행정안전부의 착한가격업소 사이트 중
배포 시 문제가 없을 가능성이 높은 cherrio로 결정함에 따라
착한가격업소 사진 크롤링으로 정함
next-auth 라이브러리를 이용하여 카카오 소셜 로그인을 최종 프로젝트까지 구현
사이트 특성 상 모바일 환경으로 접속할 이용자들이 많을 것으로 예상되어
pc, 모바일 웹 모두 대응할 수 있도록 반응형 웹 디자인을 구현
사용자들에게 더욱 자세한 정보 전달을 위해
행정안전부의 착한가격업소 이미지를 크롤링 하여 업소 상세 페이지에 추가할 예정