TeamFILL-IN / server-renew

spring base

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Legacy 분석

daehwan2da opened this issue · comments

TODO

  • Legacy api 를 어떻게 호환해 구현할지?
  • Legacy api 를 호환할 수 있는 신규 Entity 설계 구성

Auth

소셜별 계정 구분 필요

  • 같은 사용자여도 kakao, apple 계정이 구분되어 가입되어진다. (각 계정들이 독립적인 사용자)
  • 이후 니즈에 의한 계정 통합을 고려해 매핑관계로 풀어 구현 ( user 1 : N social )
  • 인증 API POST /auth
    • Q. 첫 진입한 유저 (회원가입 case) 의 nickname 은 어떤 루트로 가져오는지?
    • 소셜에서 가져오는것일지?
    • 사용자가 제공 동의를 하지 않는다면?
  • 토근 재발급 API GET /auth/token
    • 현재로서는 아직 구현할 필요 없을듯

Studio

좌표값을 바탕으로 Studio 조회 가능하도록 api 개선 필요

  • 전체 스튜디오 조회 GET /studio
    • 제거 필요
    • to-be : 주변 스튜디오 조회
      • request 에 param 추가 필요 ?위도=&경도= (필수값으로)
      • response interface 는 유지
  • 스튜디오 검색 POST /studio/search?keyword=
    • 왜 POST 이지..? GET 으로 변경 요청 필요
    • 입력된 keyword 가 현상소 이름일지, 주소내 검색 조건일지 모름 -> 각각 nGram search 필요

개선 필요점

  • 전체 스튜디오 조회 API GET /studio (legacy api docs)
    • 목적 : 지도에 스튜디오 표시를 위함
    • client 사용처
      • fillin home > around you
      • studio map
    • 문제점
      • 불필요한 데이터 조회 발생 (모든 스튜디오 데이터를 내려준다.)
        • db full scan 발생
        • response size 를 고려하지 않은 api
    • 개선점
      • 스튜디오 데이터에 좌표값 넣어서 현재 위치 주변의 스튜디오만 검색해 제공할 수 있도록
      • client 에서 내 현재 위치 정보를 server 와 interface 를 맞춰 전달해주어야할듯
        • Client 에서 어떤 지도 interface 사용중인지?
          • android : NaverMap, ios : NaverMap
          • NaverMap 에 전달해주는 현재 위치 좌표 값을 서버로 그대로 전달해주면될듯
      • 주변 스튜디오를 어떻게 노출해줄지? 고민 필요
        • 스튜디오 저장시 좌표값 저장 -> 서버에서 현 위치 좌표값 바탕으로 스튜디오 db 로 조건 세팅하고 조회
          • 위도, 경도 값 바탕 주변 구역을 구분한뒤 검색
          • index 를 어떻게 태울지?