Skip to content

대용량 장소 데이터(1000만건)를 이용한 웨이팅 서비스 플랫폼 🍽

Notifications You must be signed in to change notification settings

pirate99-FinalProject/Pintable_Project

Repository files navigation

image

PIN Table 🍽

대용량 위치 데이터를 활용한 위치 검색과 스토어 웨이팅 신청을 제공하는 서비스 입니다.

  • 위치 데이터를 활용한 장소 위치 검색을 할 수 있어요 🙆🏻
  • 가고싶은 식당을 검색하고, 현재 웨이팅 현황 및 웨이팅 신청을 할 수 있어요 ❗️

Pin-Table 기록지

📘 핀테이블 브로슈어
📗 핀테이블 Notion

프로젝트 소개 📢

  • 설명 :
  • 프로젝트 목표 :
    • 대용량 장소 데이터를 활용한 검색 및 예약 서비스 플랫폼
  • 프로젝트 이름 :
    • 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

기술 스택 🔨




주요 기능 소개 🗂

장소 검색 예약(웨이팅) 시스템
검색빠르게 웨이팅등록2배속
- 장소 검색
- 카테고리 필터 검색
- 랭킹 조회
- 스토어 웨이팅 신청
- 스토어 현황 조회
- 사용자 유효성(메일) 인증 및 메일 호출
장소 리뷰 기능 관리자페이지
리뷰빠르게
- 장소 리뷰 작성 및 조회 기능
- 리뷰 등록 시 스토어 정보 갱신(별점, 리뷰 갯수)
- 웨이팅 현황 확인
- 웨이팅 호출(이메일)

시연영상 🎥

시연영상 바로가기

서비스 아키텍처 🎨

image

ERD 👨🏻‍💻

펼쳐보기

image

API 💬

Swagger API 바로가기

트러블슈팅 🐞

데이터 수집

(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 )

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •