• 프로젝트에서 사용하는 기술 스택/라이브러리와, 선정 이유를 적어주세요.

    • BE :

      • Redis : 모든 데이터를 DB(현재 Mysql사용)에 저장 후 불러오는 방법은 효율적이지 못하다고 판단했고, 인메모리 DB로 빠른 입/출력을 위한 선택. 레디스의 Pub/sub을 이용한 채팅구현 레퍼런스가 많았기 때문에, 접근성이 좋다고 판단하여 선택함.
      • GitHub Action: 시간이 촉박함을 염두하여 최소한의 학습 시간이 필요하고, 비교적 사용이 쉬운 방식으로 채택함.
      • Nginx: 서버 상에서 테스트 할 때 소요되는 시간을 줄이고자 선택.
    • FE :

      • vite, typescript, react-query, react-router-dom, styled-components, axios, ReduxToolKit,
      • StompJS
      • SockJs-client
      • context API
  • 이번 주 한 일

    • 팀 전체 (리더님께서 필두로 정리)
    • 1주차 기술 멘토링 이후의 진행상황
      • pet, shop 기본 CRUD 마무리(사용자 안내 설정 및 상세 설정 추가 예정.)
      • 이메일 인증기능 구현 (구글)
      • pet 종류, 성별 필드 추가
      • shop 카테고리 필드 추가
      • Nginx
      • 채팅 기능 구현 시작
      • 지도 기능 구현 시작
      • 로그인시 리프레시 토큰 추가
    • 팀원 개인별
      • 문민희 :

      • Redis 를 이용한 RefreshToken구현

      • (채팅) 채팅방 생성, 채팅방 목록 전체조회, 채팅방 단건 조회, 채팅방 삭제 구현

      • WebSocket, Stomp, Redis 를 이용한 채팅을 위한 연결을 시도 중이나, 아직 해결하지 못함

      • 박나원: CI/CD 수정 → NginX, 카카오 지도 API에서 위도 경도를 가져오는 로직 작성 후 shop 작성, 수정하는 부분과 연결 (아직 테스트하지는 못함)

      • 전아영 :

      • 구글을 이용한 이메일 인증 기능 구현

        • 이미지 관련해서 shop CRUD 전반적인 수정 및 카테고리 조회 기능 추가
      • 하다연: 로그인/회원가입 보수(토큰 만료 대응), 리프레시 토큰 적용, 회원가입 시 이메일 인증 추가, 채팅방 조회/ 생성/ 삭제

      • 강현지: 메인페이지-가게업종별조회(카테고리)슬라이더 기능, 전체 CRUD 초안 및 페이지 파일 구조, Pet 관련 CRUD 페이지, 지도

      • 류시영: 추가된 pet crud api 수정 및 구현, email 인증 관련 cleanup스케쥴링 기능 추가

  • 이외에도 기술적인 방향을 잡기 위한 질문을 정리해오시면 가장 좋습니다!

    → 1. 레디스템플릿을 사용해서 환경설정을 하는중에, 역직렬화 문제가 계속 발생해서 결국 chatRoom.class 라고 직접적으로 작성해서 타입을 지정했는데, (원래는 Object.class 였음) 너무 타입을 고정시켜 놓는 하드 코딩이 아닌가? 하는 생각을 했습니다. 혹시 이 부분에서 찾아보면 좋을 키워드나, 이 방법이 맞는지 궁금합니다.

    Untitled

    → 2. 프론트 로그인/로그아웃 방법 : 로그인 시 토큰 및 정보를 로컬스토리지에 저장하여 서버와의 통신에서 토큰을 확인하는 방식으로 로그인 상태를 유지하고 있는데, 로그아웃 버튼을 클릭하면 로컬스토리지에 저장된 모든 정보를 **localStorage.clear();**로 없애는 방식으로 로그아웃 상태를 구현하고 있습니다. 그런데 로그아웃 눌렀을 때는 깨끗하게 재로그인이 가능한데 토큰만료 시에는 정보를 삭제하는 코드를 넣을 위치가 애매해서 여기저기 시도해보는 중입니다. 아직 명확한 해결법을 찾지 못해서 혹시라도 로그인과 로그아웃 방식이 적절한 방식이 아닌 건지 여쭤보고 싶습니다.