본문으로 건너뛰기

방슐랭 가이드


방슐랭 가이드는 2021.07 ~ 2022.08에 교내 창업동아리에서 참여한 프로젝트이다. 방슐랭 가이드는 1인 가구 중심의 부동산 직거래 플랫폼으로 기존 부동산의 허위 매물, 과장 광고등과 같은 문제를 해결하기 위해 시작되었다.

애플리케이션에서는 방에 대한 리뷰와 3D 투어 기능을 통해서 학생들이 더 편하고 쉽게 방을 구할 수 있도록 노력했다. 충남대학교를 중심으로 1500명 이상의 유저를 달성했으며 앱을 통해 직거래가 이루어졌다.

기술 스택

React Native로 애플리케이션을 개발하여 Android, iOS 모두를 지원했으며, 서버는 Node.js로 개발했다. 데이터베이스는 MongoDB를 사용해서 방, 건물, 유저, 신고 정보등의 데이터를 저장했다.

왜 MongoDB를 사용했는가?

  • 초기 개발 단계에서 스키마의 변경이 심했다. MongoDB는 이런 상황에서 유연하게 대처할 수 있었다. 그냥 필드를 하나 추가해도 상관없었다. 각 Document 들은 다른 필드를 갖을 수 있기 때문에 관계형 데이터베이스에서 처럼 문제가 발생하지 않았다.
  • MongoDB는 역정규화가 기본 철학이여서 복잡한 방, 건물에 대한 데이터를 확인할 때 데이터에 대한 가시성이 매우 좋았다.
  • MongoDB를 사용했을 때 Document를 만들 때마다 Object ID를 자동으로 부여했는데 이는 PK 역할을 하기 때문에 React Native에서 정보를 받아서 렌더링할 때 키로 사용했다.
  • MongoDB의 쿼리가 JavaScript 문법을 가지고 있어서 상대적으로 나에게 쉽게 다가왔다.

핸드폰 인증은 어떻게 구현했는가?

Naver의 SENS(Simple & Easy Notification Service) API와 인메모리 데이터베이스인 Redis를 사용했다. SENS API를 통해서 메시지를 보내는 것은 API 호출로 가능했다. 하지만 인증번호 같은 경우 저장이 필요했다. 따라서 Redis를 선택했고 인증번호를 저장하고 검증하는데 사용했다.

사진업로드는 어떻게 구현했는가?

거주지 인증 기능에서 사진 업로드 기능이 필요했다. 이 당시에는 presignedURL 방식을 몰랐다. Multer를 사용해서 S3에 직접 업로드하였다.