- 위치 데이터를 활용한 장소 위치 검색을 할 수 있어요 🙆🏻
- 가고싶은 식당을 검색하고, 현재 웨이팅 현황 및 웨이팅 신청을 할 수 있어요 ❗️
- 설명 :
- 프로젝트 목표 :
- 대용량 장소 데이터를 활용한 검색 및 예약 서비스 플랫폼
- 프로젝트 이름 :
- Pin-Table
- 구현 기능 및 핵심 목표 :
- 검색 시스템 + 웨이팅 서비스를 접목하여 검색부터 예약까지 가능하도록 구현하였습니다.
- 약 1000만건의 데이터 조회 1초~3초
- 기간 :
- 2022.12.30 ~ 2022.02.09
- 팀원 :
- | 이름 | GITHUB |
---|---|---|
BE | 김규리🔰 | https://github.com/kyuung09 |
BE | 이상훈 | https://github.com/leemeo3 |
BE | 신승호 | https://github.com/hongdangmoo49 |
BE | 황지성 | https://github.com/developjisung |
장소 검색 | 예약(웨이팅) 시스템 |
---|---|
- 장소 검색 - 카테고리 필터 검색 - 랭킹 조회 |
- 스토어 웨이팅 신청 - 스토어 현황 조회 - 사용자 유효성(메일) 인증 및 메일 호출 |
장소 리뷰 기능 | 관리자페이지 |
---|---|
- 장소 리뷰 작성 및 조회 기능 - 리뷰 등록 시 스토어 정보 갱신(별점, 리뷰 갯수) |
- 웨이팅 현황 확인 - 웨이팅 호출(이메일) |
데이터 수집
(1) 공공 API를 이용한 대용량 장소 데이터 수집
- 공공 데이터 포털에서 제공하는 전국 음식점/카페의 파일 데이터 수집 (약 650만건)
(2) 장소 데이터 1차 가공
- 공공 데이터 포털에서 수집한 데이터 중 불필요 컬럼 및 폐업 장소 데이터 제거 (약 200만건)
(3) 네이버 플레이스 웹 크롤링을 통한 추가 데이터 수집
- 웹크롤링(Python + 셀레니움)을 이용하여 리뷰 갯수/ 블로그 리뷰 / 별점 정보 등 추가 데이터 수집
- 네이버 플레이스 크롤링 시 특정 횟수 이상 반복 시도시 차단되는 경우가 발생하였고, 아래 과정을 통해 해결
👉 https://www.notion.so/404-Not-Found-9ec37cc4600545e7972663f4d9d06364
(4) Faker 라이브러리를 이용한 리뷰/사용자 데이터 생성
- Faker 라이브러리를 이용하여 약 600만건의 리뷰/사용자 데이터 생성
검색 성능 향상
🔎 검색 성능 개선 자세히 보기 : https://www.notion.so/PIN-TABLE-98c3a7dbb1324630a3a300575b2f7782
ㄴ( 🥹 열심히했는데 봐주실꺼죠? 🥹)
ㄴ( 🥹 열심히했는데 봐주실꺼죠? 🥹)
대용량 트래픽 부하분산
📈 대용량 트래픽 부하분산 자세히 보기 : https://www.notion.so/PIN-TABLE-641ad77ad45247c2801ae079db805389
)
동시성 제어
🧲 동시성 제어 자세히 보기 : https://www.notion.so/PIN-TABLE-721fb45b91454dda8255e0de4ac757ca
)