[패스트 캠퍼스] 고성능 대규모 프론트엔드 10개 프로젝트 1-4. 맛집 앱 프로젝트에서 배운 점을 살펴보았다.

[패스트 캠퍼스] 고성능 대규모 프론트엔드 10개 프로젝트 1-4. 맛집 앱 프로젝트

0. 여는글

1. nextAuth의 소셜 로그인

2. 공식문서를 이용해 카카오 지도 API 이용하기

3. Prisma ORM 

강의 바로가기

 

여는글

 카카오 지도 API를 이용해 서울 내 맛집 위치를 표시하고, 좋아요, 댓글 기능을 구현하는 프로젝트이다. 제가 이 프로젝트를 통해 배울 수 있었던 학습 키워드는 nextAuth의 소셜 로그인, Prisma ORM,  카카오 지도 API이다.

 

 

주요 기능은 다음과 같다.

 

  • 유저 관련
    • 소셜 로그인
    • 로그아웃
    • 마이페이지
  • 맛집 관련
    • JSON 형태의 맛집 데이터 지도에 위치 표시
    • 좋아요 추가, 해제
    • 좋아요한 맛집 목록 조회
    • 맛집 추가
    • 맛집 검색
    • 맛집 등록

nextAuth의 소셜 로그인

nextAuth의 providers에 원하는 사이트의 Provider를 추가하면 소셜 로그인을 비교적 간단히 구현 가능하다. 

nextAuth 소셜 로그인 공식문서

  • 공통적인 소셜 로그인 구현 방법
    • 각 사이트의 개발자 지원 사이트에 접속하여 프로젝트에서 사용할 개인 api 키 생성
    • 프로젝트의 .env 파일에 해당 api 키 값 추가
    • nextauth에 원하는 사이트의 provider 추가
    • provider 내에 받아온 api 키 적용

공식문서를 이용해 카카오 지도 API 이용하기

 맛집 지도를 구현할 때에 카카오 지도 API를 이용합니다. 이때에 완성된 코드를 그대로 따라치는 것이 아니라 공식 문서에 어떤 부분을 이용하는 지 같이 살펴본다는 점이 좋았다. 카카오 map을 이용할 때에는 Script를 이용해 불러오기 때문에 대부분 컴포넌트 형식으로 외부 모듈을 불러오는 react/ next 프레임워크의 방식과 다소 차이가 있어 이후에도 참조해야 할듯 하다.

카카오 지도 api 공식문서

 

  • 카카오 지도 API 이용하기
    • Script를 통해 카카오 지도 api를 불러옴.
    • Script의 src 속성에 개인 카카오 지도 api 키 값 적용
    • window.kakao.maps를 이용해 지도 불러오기

Prisma ORM

nextjs는 프론트엔드 뿐만 아니라 백엔드 기능도 담당하므로 데이터 베이스 작업을 담당하는 ORM도 사용하게 된다. 그중 Prisma ORM은 사용법 간편한 편이기 때문에 자주 사용된다. 개인적으로 Prisma를 사용할 때에 Prisma Studio를 사용해 현재 데이터를 보기가 편하다는 이점이 있다.
  • Prisma 구현 과정
    • root 폴더에 prisma 폴더 생성
    • schema.prisma 파일에 사용하고자 하는 테이블 스키마 작성
    • seed.ts에 기본 데이터 추가 과정 작성
Prisma studio, npx prisma studio 명령어를 입력하면 데이터 간편히 조회할 수 있다.

강의 바로가기

고성능 대규모 프론트엔드 10개 프로젝트: 최적화부터 유지보수까지 한 번에 끝내기

+ Recent posts