day10
리뷰 (4시)
- 우리가 에어비엔비 클론 코딩 프로젝트를 위해 처음에 어떤 프로덕트 백로그를 작성했는지 같이 알아보고, 프로덕트 백로그에 대한 유저스토리는 어떤 것이 있었는지, 또 어떻게 구현을 했는지 다시 한 번 상기해보고, 느낀점 말하고, 아직 프젝 완전 끝난 것이 아니기 때문에 부족한 점과 개선점 같이 의논해 보기.
- 프로덕트 오너는 리뷰 참석자에게 스프린트(프로젝트) 목표, 프로덕트 백로그(MoSCow), 스프린트 백로그(Must Have)를 소개하세요.
- 프로젝트 목표
- 에어비엔비 클론 코딩
- 프로덕트 백로그
- Must Have
- 유저는 회원가입을 하고 싶다.
- 유저는 자신이 원하는 숙소들을 찾고 싶다.
- 방 정보를 보고 싶다
- 유저는 숙소을 예약하고 싶다.
- 호스트는 숙소를 등록하고 싶다.
- 게스트는 예약현황을 확인하고 싶다.
- 호스트는 예약현황을 보고 싶다.
- Should Have
- 사용했던 숙소에 리뷰를 남기고 싶다
- 숙소를 위시리스트에 추가하고 싶다.
- Won’t Have
- 숙소 선전을 하고 싶다
- 유저 블랙리스트를 알고싶다
- 경쟁 업소들과 비교를 하고 싶다
- 방문 통계를 내고 싶다
- github action
- 스프린트-2 백로그
- 프로덕트 오너는 스프린트(프로젝트) 목표가 달성 되었는지, 스프린트 백로그(Must Have) 속 유저 스토리는 전부 완료되었는지 혹은 일부만 완료되었는지 여부를 우선 간략히 알려주세요.
- 현재까지는 아직 미완성임.
- 프로덕트 오너가 먼저 스프린트 백로그(Must Have) 속 유저 스토리를 하나씩 다시 간략히 소개하고, 그 이후에 개발자들이 해당 유저 스토리를 작업한 과정, 그 과정 중에 발생한 이슈, 해당 이슈를 처리한 방법을 설명하고, 완료된 결과물을 실제로 작동시켜 리뷰 참석자들에게 보여주세요.
- must have
- 유저는 회원가입을 하고 싶다.
- 수빈
- jwt를 민환님이 해주셔서 사실 oauth쪽 으로는 별거 한게없다..
- 그동안 SNS 로그인 과정을 프론트로만 느끼던 입장에서 API식으로 로그인을 제공해주는 과정을 알 수 있었다.
- 과정중 발생한 이슈 - 초반에 API 시큐리티를 적용한다는게 이해가 안갔고, 프로젝트 자체가 거의 야생같아서 작업 속도가 늦어졌다
- 민환
- 기본적인 Security 위에 JWT을 적용하는 방식으로 진행
- accessToken, refreshToken을 적용하면서 좀 더 서버 부하가 일어나지 않도록 진행 (나중에 redis로 바꿔보고 싶다.)
- 하지만 권한의 경우 게스트에서 호스트로 변경될 경우 토큰 자체가 변경되어야 하는 데 이 점을 어떻게 처리할 지 고민중…
- 유저는 자신이 원하는 숙소들을 찾고 싶다.
- 필터 처리를 하면서 복잡하게 생각했었다.
- 방 정보를 보고 싶다
- QueryDsl 사용하면서 페이징이나 Jpa의 fetch() 조인을 사용하면서 한방 쿼리를 보낼 수 있었다.
- 유저는 숙소을 예약하고 싶다.
- 예약 요청이 들어오면 예약 검증을 거치고 진행
- 하나의 서비스에서 너무 많은 책임을 가지고 있는 게 아닐까 라는 고민 (피드백 받았지만 오늘 한번 확인받아봐야 할듯)
- 동시성 문제는 어떻게 해결할 지 고민중
- 호스트는 숙소를 등록하고 싶다.
- 이미지 s3 업로드
- s3 업로드 작업이 오래걸릴 것 같아서, 로컬 업로드 먼저 작업을 진행했었음.
- 하지만 알고보니 s3 업로드 로직은 정말 별게 없었음.
- → 이런 사실을 진작에 알았더라면 시간을 안잡아 먹었을 텐데 ㄲㅂ
- → 초보라서 이런 시행착오가 당연히 있을 것임. → 주니어 타임 자체 적용.
- 용수
- 숙소 등록에 필요한 엔티티 설계나 VO를 설계할 때의 기본적인 세팅이 중요하다는 걸 느낌
- 빨르게 처내지 못해서 팀원들한테 미안했음
- 게스트는 예약현황을 확인하고 싶다.
- 호스트는 예약현황을 보고 싶다.
- Should Have
- 사용했던 숙소에 리뷰를 남기고 싶다
- 수빈
- 진행중인 사항
- 숙소를 위시리스트에 추가하고 싶다.

- 리뷰 참석자들은 유저 스토리에 대한 설명이 하나씩 끝날 때마다 해당 유저 스토리 결과물에 대한 피드백을 주세요.
- 스크럼 마스터는 다음의 질문을 활용해서 리뷰 참석자들에게 피드백을 요청할 수 있습니다.
- 해당 결과물을 보았을 때, 가장 흥미로운 지점이 있다면 어떤 점이고, 그 이유는 무엇인가요?
- 해당 결과물에 대해 한가지 바꿀 수 있는게 있다면 어떤게 있고, 그 이유는 무엇인가요?
- Must Have
- 유저는 회원가입을 하고 싶다.
- 재욱
- jwt 설정 어려울 것 같다.
- 로그인 프로세스를 궁금해서 나중에 설명해 주셨으면 좋겠다.
- 리프레쉬 토큰? 레디스?? 설명을 들어도 잘 모르겠다.. 큰 일 하셨네요..
- 용수
- 시큐리티 부분에 대해 지식이 깊지 않아서 대단하다고 느낌
- 민환
- 수빈
- airbnb처럼 호스트로 변경 버튼을 누르면, 권한을 추가해주는 로직이 필요할 듯 합니다.
- 유저는 자신이 원하는 숙소들을 찾고 싶다.
- 재욱
- QueryDSL 이 궁금하다. 용수님에게 강의 들어야 할 듯.
- 용수
- 민환
- 이미지를 fetchJoin으로 가져오는 건지 궁금합니다.
- 수빈
- queryDsl. fetchJoin 이거 좀 더 설명이 필요할 것 같습니당
- 방 정보를 보고 싶다
- 재욱
- 용수
- 민환
- 수빈
- 유저는 숙소을 예약하고 싶다.
- 재욱
- 동시성 문제?
- 용수
- 민환
- 수빈
- 예약 동시성 문제
- 근데 예약부분을 민환님 혼자 다 하는게 괜찮은지..
- 너무 크고 막중한데 쪼갤 수 없으려나?
- 현재는 나누는게 더 힘들 순 있지만 쪼개는 방법도 알면 좋을 듯
- 호스트는 숙소를 등록하고 싶다.
- 용수
- 민환
- 처음 구현할 때 다른 쪽이 구현되어 있다고 생각하고 했으면 더 빠르게 할 수 있었을 듯
- 수빈
- 게스트는 예약현황을 확인하고 싶다. (진행중)
- 재욱
- 용수
- 민환
- 수빈
- 호스트는 예약현황을 보고 싶다. (진행중)
- 재욱
- 용수
- 민환
- 수빈
- Should Have
- 사용했던 숙소에 리뷰를 남기고 싶다 (진행중)
- 재욱
- 용수
- 민환
- 수빈
- 숙소를 위시리스트에 추가하고 싶다.
- 깃헙 액션 CI (진행 중)
- 마지막으로 참가자들은 해당 프로젝트에 참여한 소감 혹은 결과물을 본 소감 등을 나누고 리뷰를 마무리하세요.
- 재욱
- 용수
- 민환
- 수빈
회고 (7/5)
→ 이 회고는 7월 5일에 하면 좋을 것 같습니다
회고의 참석자는 오로지 우리 팀원들 뿐이에요. 혹시라도 리뷰에 다른 이해관계자들이 초대되었다면 전부 다 내쫓고 우리만의 시간을 가지세요. 조금 더 아름답게 회고를 진행하려면 온라인 화이트보드 도구(Mural, 게더타운 등)을 활용하면 좋습니다. 혹시 마땅한 온라인 화이트보드 도구가 없다면 그냥 메신저 혹은 문서 공유용 툴을 활용해도 괜찮아요.
- 팀원들은 각자 혼자서 아래의 사항에 해당하는 내용을 회고에 활용하기로 한 온라인 툴에 조용히 적으세요.
- Liked: 이번 프로젝트(스프린트)에서 팀원들과 함께 작업하며 좋았던 점
- Learned: 이번 프로젝트(스프린트)에서 팀원들과 함께 작업하며 배운 점
- Laked: 이번 프로젝트(스프린트)에서 팀원들과 함께 작업하며 아쉬웠던 점
- Longed for: 이번 프로젝트(스프린트)에서 팀원들과 함께 작업할 때 “이랬으면 참 좋았겠다.” 싶은 점
- 각자가 적은 걸 한 곳에 모아놓고 살펴보면서 각자 적은걸 서로에게 이야기하고, 서로의 이야기를 듣고 든 생각이나 감정을 다시 또 서로에게 해주세요.
- 마지막으로 참가자들은 해당 프로젝트에 참여한 소감 혹은 결과물을 본 소감 등을 나눈 뒤, 2주 동안 고생한 우리 모두에게 박수👏를 쳐주면서 아름답게 회고를 마무리하세요.
오늘 회의 안건
- 수빈
- 이슈등록된 3가지 목표

- 용수
- 숙소 상세정보에 리뷰 받아오기
- 호스트는 숙소를 관리할 수 있다….(이걸 빼먹고 있었네요 ㅎㅎ)
- 민환
- 진행 중
- 오늘 진행
- 승인같은 경우는 정보 변경만 해도 되서 오래 안걸릴 것 같고 날짜 보내주는 건 조금 생각해봐야 할 것 같습니다.


- 재욱
- github action CI
- po 문서.