회고
이번 주에 내가 한 일은 OAuth naver 로그인, 회원가입, Redis(ncp 의 Cloud DB for Redis) 연결이다. 금방 끝낼 수 있을 것 같았는데, OAuth 원리를 다시 이해하는 시간과, 오류 해결 하는 시간이 오래 걸렸다. 그리고 이번 주부터 nest.js를 사용한 구현을 했는데 이 또한 처음 하는 거다 보니 시간이 오래 걸렸다.
OAuth
- 구현하면서 nestJS의 Guard에 대해 배울 수 있었다.
- 구현 중 callback url로 이동하지 않았다. 이를 백엔드 팀원에게 얘기 했고 같이 화면공유를 통해 원인을 찾아보았다. 같이 보면서 로그인 후 callback url에 https라 적어놔서 안된 것을 발견했다. 내가 맡은 일은 내가 모두 해결해야지 라는 생각에 도움을 요청하면서 너무 미안했는데, 차라리 바로 이야기 했으면 빨리 해결하고 다른 일을 진행할 수 있지 않았을까라는 생각을 하게 되었다. 구현을 다하고 local에서 test해봤을 때는 잘 동작해서 배포 후 test를 해봤는데, ncp 의 Cloud DB for Redis와 연결이 되지 않았다. 이는 다음주에 해결하기로 했다.
피어세션
피어세션에서 다른 팀원이 구현한 기능에 대한 질문을 받았을 때 제대로 된 답을 하지 못했다. 내 일을 하느라 다른 팀원들이 무엇을 하고 있는지 어떻게 구현했는지 알아보지 않았기 때문이다. 그래서 다음 주부터는 팀원들의 pr을 꼼꼼히 보고, 어떻게 한건지 물어보는 시간을 아침에 가져야겠다. 그리고 Authorization Server에서 리소스를 로그인 이후에 받아 오지 않는데 왜 session에 access token과 refresh token을 저장하냐는 질문을 받았다. 나는 OAuth 로그인 구현할 때 참고한 블로그에서 다 access token과 refresh token을 저장하길래 그렇게 저장했다. 구현에 급급해 왜? 라는 생각을 하지 않았고, JWT와 Session 로그인 방식에 대한 이해가 부족하다는 것을 느꼈다. 우리는 Session 로그인 방식이라 session에 저장할 것을 생각해보고 구현했었어야 했다는 것을 깨달았다. 앞으로 왜?라는 생각을 하면서 구현하고, 사용 기술에 대한 이해를 높여야 겠다는 생각을 했다.
3 주차 목표
- 스트리밍 서버 nginx-rtmp-module로 변경
- API 설계(로그인, 회원가입, 방송 정보) 및 구현
- 프론트 배포 및 CI/CD
- 메인 화면 UI 구현하기
- 간편 로그인 적용하기
- 리드미 꾸미기
이번주 한 일
BE
- OAuth naver 로그인, 회원가입
- Redis 에 access token, refresh token 저장
- passport, passport-naver-v2 , connect-redis , express-session 사용
- user 정보 조회/생성 API 구현
- 방송 정보 조회/수정 API 구현
- winshining/nginx-http-flv-module
- 모듈 변경 : 기존에 사용하던 것보다 기능이 많음
- TypeORM 엔티티 설정, Repository API 사용
- ncp 의 Cloud DB for Redis 사용
- redis ncp 연결 실패
- 로컬에서 실행 시 문제가 없었으나 배포 후 ncp 의 redis가 연결이 안되는 오류가 발생
FE
- 디자인 및 기획서 보완
- 프론트 CI/CD 구현
- 메인 화면 구성 및 방송 화면과 연동
- 다크모드 구현
- 채팅 구현
결과
- 실시간 방송 기능 구현 완료
이번 주 공유문서
'네이버 부스트캠프 웹・모바일 8기 > 그룹프로젝트' 카테고리의 다른 글
아프리카 TV & GBS 동시송출 후기 (0) | 2024.01.19 |
---|---|
네이버 부스트캠프 8기 5주차 회고 (0) | 2024.01.08 |
썸네일 만들기(efriandika/streaming-server) (0) | 2024.01.08 |
네이버 부스트캠프 그룹프로젝트 4주차 회고 (0) | 2023.12.06 |