25주차에 한것
이번 주도 기능 구현으로 바빴다.
프리사인 URL로 이미지를 저장할 수 있도록 하였고, 소셜 로그인을 구현하였다.
또한 자잘한 CORS 문제를 해결하였고, STOMP로 1:1 실시간 채팅을 구현하였다.
그리고 그동안 미뤄두었던 리팩토링을 진행하였다.
이번 주에 한 일
- 프리사인 URL로 이미지 저장 기능 구현
- 소셜 로그인 구현
- STOMP로 1:1 실시간 채팅 구현
- CORS 문제 해결
- 도메인 리팩토링
결과
일반 회원가입과 소셜 로그인을 통한 회원가입의 두가지 방식을 병용해서 이메일, 닉네임에서 애먹었다.
이메일도 중복될 수 없고, 닉네임도 중복될 수 없다는 정책이 있었다.
어쩔 수 없이 소셜 로그인으로 회원가입 시 닉네임은 랜덤 번호가 붙은 임시 닉네임을 부여하는 방식으로 진행했고,
이메일도 소셜 로그인으로 회원가입 시 이메일 뒤에 소셜로그인 Provider를 표기하는 식으로 처리하였다.
더 좋은 방식이 있다면 수정할것 같지만 지금은 이게 최선이었다.
STOMP로 1:1 실시간 채팅을 구현하였는데 사실 채팅 기능 구현하는건 이전에 해봤던거라 그리 오래 걸리지 않았다.
하지만 나와 연관된 채팅방을 불러오는 조회 쿼리를 만드는게 더 힘들었던것 같다.
당장은 JPA의 기능 없이 한방 쿼리를 작성해서 만들었는데, 이러다보니 연관관계를 굳이 맺을 필요가 있을까 싶었다.
이 부분은 좀 더 공부해봐야겠다.
각각의 채팅방의 마지막 메시지도 조회해야 하는데 한방 쿼리로 어떻게 하고 싶었으나 아직 못했다.
이번 주에 아쉬웠던 부분은 아래와 같다.
- 소셜 로그인/일반 회원가입 병행 시 더 좋은 방법이 없었을까?
- 각 채팅방의 마지막 메시지 조회 기능을 구현하지 못 함
'코드잇 스프린트' 카테고리의 다른 글
[26주차] 코드잇 스프린트 완주 (0) | 2024.05.19 |
---|---|
코드잇 스프린트 3기 수료식 (0) | 2024.05.18 |
[24주차] 최종 프로젝트 - HTTPS 적용 및 스웨거 설정 (0) | 2024.05.05 |
[23주차] 최종 프로젝트 - 스프링 시큐리티 관련 설정 (0) | 2024.04.28 |
[22주차] 최종 프로젝트 - 회원가입 및 로그인 구현 (0) | 2024.04.21 |