Skip to content

3주차 회의록

J077_문혜현 edited this page Nov 14, 2021 · 8 revisions

2021-11-09

  • 참여자
    • J077_문혜현, J107_송명회, J218_홍승용, J219_홍종우
  • 시간
    • 오전 10:00 ~ 오전 12:00 / 오후 02:30 ~ 오후 07:00

진행 사항

  • 폴리곤 FE에서 LFU캐싱으로 성능 향상
  • mongodb 를 cloud로 사용하지 않고 직접 구축해서 사용 시 성능 향상
  • Map 폴리곤 그리기의 경우 지역 range 상태 관리 및 fetch 요청 최소화 되도록 position 복합 상태관리로 변경
  • Map Shaper 를 통해 좌표 코드 용량을 줄였으나 여전히 대용량(20MB 이상)
  • 배포 : 카카오 Map API production 환경 사용 가능한 설정 확인 필요
  • Sidebar animation 적용 관련 오류 해소 필요

검색 기능

  • mongodb는 한국어에 대한 형태소 분석이 안되기 때문에, 띄어쓰기를 기준으로 검색을 형태소를 나눈다.
  • 따라서, '경기도 성남시 분당구 판교동'같은 경우, '경기'나 '분당'으로는 검색이 안된다. 몽고 한국어 참고
  • 결론: 일단 regex로 구현후, ES로 바꿔보자

2021-11-10

  • 참여자
    • J077_문혜현, J107_송명회, J218_홍승용, J219_홍종우
  • 시간
    • 오전 10:00 ~ 오전 11:00 / 오후 03:30 ~ 오후 06:30

이슈

  • 304가 express에서 뜨는 이슈 https://huns.me/development/2306

  • 후기 mongoDB 설계 종우님이 맡으심

  • docker 무중단 배포 승용님이 맡으심

  • map 100% height으로 하면 component 100%로 화면을 넘어섬

  • 폴리곤 색상

    • color-hash 패키지 이용 (주소 => #컬러)
    • 폴리곤에 이벤트 등록해서 마우스 올리면 투명도 바뀌도록

MongoDB 설계

  • 후기 컬렉션 설계
    • 후기 Document를 어디에 저장할까?

      • SimpleMap 각 동(3번째 지역) 아래에 embedding?
      • embedding한다면 document 커지고 업데이트도 잦아서 적당하지 않을듯
        • 후기 컬렉션에서 SimpleMap으로 지역을 링크?
        • 아니면 아예 Map으로 링크? Fullscan은 아니라서 자동검색처럼 성능이 나쁘지는 않을듯
        • 링크를 꼭 걸어야 하는가?
          • vs. 후기에 주소를 직접 저장
          • 링크 안걸면 쿼리 두번 날려서 중심좌표까지 받아오는 경우가 생길 수 있음
          • 링크를 걸어도 행정구역 업데이트까지 한 번에 해결되지는 않는다
      • Review collection
        • 주소(행정동명), 중심좌표 저장
        • 행정구역 업데이트되면 통계청 API에 중심좌표 -> 주소 변환 요청
    • Review Collection + Rate Collection

      • Review: 개별 리뷰
      • Rate: 지역별 누적 평점 정보
    • Review에서 createdAt index를 넣어야 할까?

      • update 할 때 빠르게하기 위해서는 index를 넣어야 한다

2021-11-11 회의록

  • 사이드바 렌더링 관련

    • 폴리곤을 클릭 했을 때 vs Marker를 클릭 했을 때
      • 사이드바 렌더링 시, 총점, 카테고리 별 평점, 주소 데이터를 넘겨줘야 하기 때문에 해당 데이터를 갖고 있는 쪽에서 전달해주면 됨(현재는 마커)
      • 만약 폴리곤 클릭할 때도 사이드바를 띄우려면 (폴리곤 - 마커) 매핑이 필요하므로 상태관리가 필요할 것이라 생각됨.
      • 사용자 UX를 위해 폴리곤을 클릭 했을 때, 사이드바가 렌더링 되는 것이 더 좋을 것으로 보임
      • 폴리곤 클릭 시 렌더링 한다면 다른 폴리곤 클릭 시에는 사이드바 상태 변경(리렌더링), 같은 폴리곤 클릭 시에는 변경 없고, 기타 폴리곤 형성되지 않은 맵 클릭 시에는 사이드바 unmount 되도록 설정 필요
  • Collection Schema 일부 변경

    • MapInfo 부분은 변경하지 않고 Backend API로 전달할 때만 count, total 정보를 밖으로 빼고 category 데이터를 반환하도록 설정
      • Bar Rate 부분에서 Map 고차함수를 사용하여 category 별 평점 정보를 렌더링하기 때문임
    • Review 부분은 total(avg)는 키 제거
      • 해당 연산은 Frontend에서 연산하도록 변경
  • 금일 진행 사항

    • 로그인 JWT 인증, 프로필 페이지 UI 구현
    • 후기 작성 및 후기 가져오기 Backend API 구현
    • Swagger 설정(시간 되면..)
  • 모달창 라우터

    • 모달창은 페이지를 추가하는 라우터 하기로 하자
    • 모달창 상태를 상위 컴포넌트에서 props로 주는 방식은 안 괜찮은가?
  • 반응형 웹

    • 핸드폰 사이즈로 바꾸면 오류가 남

2021-11-12

기능 구현 점검

  • 후기 작성
    • Frontend 내 UI 및 Backend 기능 구현 완료
    • 일부 Refactoring도 진행했으나, 해당 방식에 대한 논의 추가 필요
  • 로그인 관련
    • Browser에서 github oauth API를 전달할 수 없는 이슈 발생하여 Server에서 전달하도록 설정함
    • CORS 이슈가 발생해서 해당 이슈 해소중
  • 리팩토링
    • type, interface는 구분해서 파일로 빼놓자
    • [BE] controller -> 라우트 핸들러는 함수로 분리하고 service는 (req, res)에 의존하지 않는 순수 비즈니스로직만 포함하도록
  • 몽고 DB 관련 주의점

해야 할 일

- 일요일 낮 12시까지 merge하자(리뷰 남겨주세요~)

- API 명세를 명확히 정하고, error 메시지 명세에 대해서도 논의해보자

멘토님께 여쭤볼 사항

  • controller, service 어디까지 구분하는게 좋을까?
  • CORS 관련해서 공부하고 질문할 거리 만들어올 것(혜현)
Clone this wiki locally