• 코드 컨벤션

  • 깃플로우 전략

  • 프로젝트에서 사용할 기술 스택을 정리해 와 주세요!

  • FE : React / Tailwind / Recoil / S3 / GitHub Action / CloudFront

  • BE : Spring Boot / Spring Security / MySQL / AWS RDS, EC2, S3 / STOMP / QueryDSL / Spring data JPA / GitHub Action / Junit5 / Redis

  • 이번 주 한 일

    • 팀 전체

    <aside> 💡 1 주차 기술 멘토링 피드백 내용 2023.05.27 멘토링 이후 회의록

    1. 스코프를 공격적으로 키워봐라!
    • 기존 MVP에 기능 추가 • 하루속 이벤트(일상속 이벤트와는 다른, 번개모임 같은 성향을 가짐)
      • 사용자의 현재 위치를 기반으로 주변 이벤트를 추천해줌 • 실시간 채팅 • 소셜 로그인
    1. 와이프레임 및 세부적인 사항 피드백(회의록 참고) </aside>
    • 팀원 개인별

      • API · 기능 명세서 / 진행상황 및 개인별 작업 확인 가능

      Front-End

      • 홍종훈 : 일상속 페이지- 카테고리를 이동할 때 검색하는 기능, 일상속 디테일 페이지- 슬라이드로 이벤트를 넘겨볼 수 있는 기능, 웹소캣을 이용한 실시간 채팅 기능(sockjs, stomp), 최근 본 게시글 ID 저장까지 완료했으나, fixed 속성때문에 적절한 위치에 출력하는 것이 어려운 상황
      • 김민정 : 로그인, 회원가입 페이지 구성 및 기능 구현
      • 정해진 : 일상속의 이벤트 디테일 페이지 조회(지도), 이벤트 생성(지도, 날짜 및 시간 선택 기능), 파일 첨부시 이미지 리사이징, 404에러시 404페이지로 이동(react-router-dom), 웹소켓을 이용한 실시간 채팅 구현(sockjs, stomp), geolocation을 이용한 사용자의 위치 추적, Sentry 및 Amplitude 세팅, HTTPS 적용을 위한 CloudFront-S3간의 배포 시스템 구축 및 도메인 설정

      Back-End

      • 강동현 : 하루속 / 이벤트 CRUD 기능 구현

      • 강재형 : 실시간 채팅 기능 구현(WebSocket, Stomp)

      • 김덕인 : 소셜 로그인 기능 구현(카카오, 네이버, 구글), 사용자 인증[이메일 인증(Spring mail),

                    이메일, 비밀번호 찾기(coolSMS API), 인증번호 관리(Redis)], 
        
              사용자 현재 위치 기반 내 주변 하루속 / 이벤트 검색 기능 구현
        
      • 이호정 : 실시간 채팅 기능 구현(WebSocket, Stomp)

  • 동현님

    1. 웹소켓 개발 환경이 스프링보단 Node.js가 더 효율적인지?
    2. 괜찮다면 웹소켓만 별도로 Node.js, Docker를 사용, 개별 운영해도 괜찮은지?
    3. 도커를 사용해보고 싶은데 어떤 방식으로 사용 해보면 좋은지? ex)
  • 호정님

    1. websocket,stomp를 사용해서 실시간 채팅 기능을 구현 중. 채팅 시 유저의 정보(닉네임, 프로필이미지)를 계속 보내줘야 해서 지금은 메시지 주고받을 때마다 jwt 토큰 인증 후 유저 정보 확인해서 넘겨주도록 했음. 성능 개선을 위해 캐시 서버를 도입하려 함. 웹소켓 연결 직전에 jwt 인증하고 세션id를 발급하여 그 세션id를 캐시에 저장해 유저 정보를 확인하려하는데 괜찮을지 궁금함. 그리고 채팅 시 메시지 오갈 때마다 이렇게 유저 정보를 넘겨주어야만 하는 건지?
    2. Redis를 사용해 캐시에 저장할 경우 그냥 저장해도 좋은지, 아니면 Lettuce의 비동기 명령을 써서 저장해야만 하는지?
  • 숙제 : 멘토링 결과 다음 주까지 해올 일