Skip to content

사회적 교통약자를 위한 배리어 프리 가게 검색 플랫폼

Notifications You must be signed in to change notification settings

kokoa322/Baechelin_BackEnd

 
 

Repository files navigation

배너

스크린샷 2022-08-11 13 16 08

Bae-Chelin (배슐랭)


“사회적 교통 약자도 편하게 식사하세요”



배슐랭은 사회적 교통 약자가 보다 쉽게 이용할 수 있는 배리어 프리 식당이나 카페 등 가게 정보를 알려주고 사용자 위치 맞춤 추천 서비스를 제공합니다.

사회적 교통 약자분들 위한 음식점 정보와 유저들의 생생한 방문 경험이 담긴 리뷰들로 편하게 방문해보세요!


배슐랭이 사회적 교통약자분들이 편하게 살아갈 수 있도록 한 걸음 나아가겠습니다.



👩‍🦼 배슐랭 바로가기


Line 1


Background

background


배리어 프리 (Barrier-free)는 사회적 약자가 생활하기에 불편함을 주는 물리전, 제도적 장벽을 제거하자는 운동입니다.

생활공간에서 장애인과 비장애인 간의 장벽을 없애자는 움직임이 증가하고 있지만 아직도 사회적 교통약자행복을 추구할 기본적인 권리를 보장받지 못하고 있습니다.



배슐랭에서는 배리어 프리 가게들을 알려주고, 위치 기반 맛집 정보 서비스를 제공해 사회적 교통약자분들의 보다 편리한 가게 이용을 가능하게 합니다.


Features

🏘 내 주변에 있는 배리어 프리 가게

  • 사용자의 현재 위치를 기반으로 주위의 배리어 프리 가게를 한눈에 확인할 수 있습니다.

🤔 다른 사람들은 어느 가게를 많이 갔을까?

  • 별점 순, 북마크 순으로 인기 가게들을 확인할 수 있습니다.

  • 다른 사람들의 실시간 후기를 확인할 수 있습니다.


☑️ 나한테 필요한 배리어 프리 시설은?

  • 내가 원하는 배리어 프리 시설별(휠체어 경사로, 엘레베이터, 전용 화장실, 전용 주차장, 출입구 단차)로 가게들을 확인할 수 있습니다.

🗺 가게들을 지도로 한눈에 확인

  • 가게 카드를 클릭하면 상세 페이지에서 위치를 지도로 한 눈에 확인할 수 있습니다.

  • 사용자의 현재 위치를 기반으로 주위의 배리어 프리 가게를 지도로 한 눈에 확인할 수 있습니다.


🔖 가고 싶은 가게를 북마크

  • 가고 싶거나 저장해두고 싶은 가게를 북마크 하고, 폴더별로 확인할 수 있습니다.

📄 내 경험을 공유하기

  • 방문 후기를 작성해서 다른 사용자들에게 별점과 리뷰를 공유할 수 있습니다.

🔍 찾고 싶은 가게를 검색하기

  • 지역과 키워드로 찾고 싶은 가게를 검색할 수 있습니다.


Line 1

Project

시연영상

발표영상

팀 노션


Project Timeline

2022-06-24 ~ 2022-08-01 (6주)


Tech Stack

Language

  • JAVA

Database

  • MySQL

Deploy

  • Github Actions : CI/CD
  • AWS Code Deploy : CI/CD
  • Nginx : 무중단 배포
  • AWS EC2
  • AWS S3
  • AWS RDS

Tech

  • Spring Boot
  • Spring Security : 보안 설정을 위해 사용
  • JWT : 사용자 인증/인가를 위해 사용
  • OAuth2.0 : 소셜 로그인을 위해 사용
  • Spring Batch : 대용량 데이터 처리를 위해 사용
  • QueryDSL
  • Spring Data JPA
  • Jsoup : 가게 사진을 크롤링하기 위해 사용
  • Swagger
  • WebClient & RestTemplate : Public API와 Kakao API를 호출하기 위해 사용

Data Pipeline

  • Public API
  • Kakao Maps API

Project Design

Service Architecture

MPNP Architecture


ERD

배슐랭_ERD

API

API 설계


Development

Core Tech

회원가입 / 로그인 / 사용자 인증
           
  • 카카오, 네이버, 구글 소셜로그인으로 별도 회원가입 과정 없이 간편하게 가입
  •        
  • JWT 토큰 인증방식을 통해 로그인 인증 관리 및 Access / Refresh Token을 활용하여 로그인 기간 관리, 보안 강화

배리어 프리 시설 및 가게 사진 데이터 수집
           
  • Public API를 활용하여 배리어 프리 시설 데이터 수집
  •        
  • Jsoup을 활용하여 가게 사진 데이터 크롤링
  •        
  • Webclient를 활용하여 API 호출 성능 개선

대용량 데이터 관리
           
  • Spring Batch와 Scheduler를 활용하여 대용량 데이터를 주기적으로 수집 및 업데이트

CI / CD와 무중단 배포
           
  • Github Actions와 Code delpoy를 활용하여 CI/CD 구현
  •        
  • Nginx를 활용하여 무중단 배포 구현

Trouble Shooting

WebClient & RestTemplate

공공 API의 정보 가공

무중단 배포에서의 스케쥴링락

Refresh Token 적용

가게 검색 기능

Batch Reader Api 요청 속도

Batch 쿼리 줄이기


Line 1

Team MPNP - Backend


팀 멍판냥판 백엔드 개발진들🧡

진유진🔰 김선현 정소이
진유진 김선현 정소이
Spring Security JWT
OAuth2.0 소셜 로그인
가게 검색 가게 상세 조회
가게 등록 관리자 페이지
Spring Batch Scheduler
리뷰 작성, 삭제, 수정, 조회
북마크 및 북마크 폴더 생성, 삭제
최근 등록한 북마크 조회
Public API Kakao Map API
WebClient 데이터수집 및 가공
가게 위치, 카테고리, 태그별 리스트 조회
현재 위치 조회 회원 정보 조회

About

사회적 교통약자를 위한 배리어 프리 가게 검색 플랫폼

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 94.2%
  • HTML 5.0%
  • Shell 0.8%