Skip to content

Conversation

@wonyangs
Copy link
Contributor

@wonyangs wonyangs commented Dec 5, 2024

요약

첫 해설 등록 시 문제를 함께 생성하기 위해 로직 변경

내용

클라이밍장 상세 정보 조회 시 sectorId 정보 제공

  • GET /gyms/{gymId}
  • 해설로 문제 생성을 하기 위해 sector id 정보가 필요하여 추가

Solution에 풀이 일자, 썸네일 url 추가

  • 풀이 일자: solvedDate, 썸네일 url: thumbnailImageUrl 컬럼 추가

problem에 홀드 정보, 썸네일 해설 정보 추가

  • 홀드 정보: holdId, 썸네일 해설 정보: thumbnailSolutionId
  • queryproblem에는 홀드 색, 홀드 색상 코드 정보도 포함
  • 문제 다건, 단건 조회 시 홀드 색상 코드를 제공

문제 생성을 일반 유저도 할 수 있도록 변경

  • 기존 Endpoint: POST /admin/gyms/{gymId}/sectors/{sectorId}/problems
  • 새로운 Endpoint: POST /gyms/{gymId}/sectors/{sectorId}/problems

새로운 해설 업로드 시 작업 순서

  1. 업로드 서버에 새로운 해설 업로드
  2. 트랜스코딩 이후 Lambda에서 문제 생성 API 호출 (이 때는 thumbnailSolutionId, thumbnailImageUrl이 설정되어 있지 않음)
  3. 문제 생성이 완료되면 같은 Lambda에서 해설 생성 API 호출 (이 때 해설 생성 이벤트가 발성하여 문제의 썸네일 및 썸네일 id 정보가 설정)

기존에 있는 문제 업로드 API 변경

  • 기존에 있는 문제에 해설 업로드
    • 풀이 날짜, 썸네일 이미지 파라미터 추가

없는 유저의 해설 업로드

  • 어드민 기능인 없는 유저의 해설 업로드 API도 두 개로 분리됨
    • 기존 문제에 해설 업로드
    • 새로운 문제를 생성하며 해설 업로드

기존 문제에 해설 업로드

  • 풀이 날짜, 썸네일 이미지 파라미터 추가

새로운 문제를 생성하며 해설 업로드

  • 기존 백엔드 로직은 변경 없음
  • 업로드 서버 및 Lambda 파라미터 변경 예정

업로드된 해설 영상 수정

  • 풀이 날짜를 수정할 수 있는 파라미터 추가
  • 썸네일 수정은 불가능

해설 삭제 로직 변경

  • 해설 삭제 시 다음 해설이 문제의 썸네일로 설정
  • 남은 해설이 없는 경우 문제가 삭제

마이페이지의 해설 조회 시 제공 정보 변경

  • 썸네일 url, 풀이 날짜 정보를 추가로 제공

같은 섹터, 난이도, 홀드색을 가진 문제가 있는지 조회하는 API 구현

image
  • 위 기능을 위해 구현
image
  • 쿼리를 이용해 요청
  • 빈 리스트가 반환될 경우 중복된 문제가 없다는 뜻

@wonyangs wonyangs requested a review from ChoiWonYu December 5, 2024 06:43
@wonyangs wonyangs self-assigned this Dec 5, 2024
Copy link
Contributor

@ChoiWonYu ChoiWonYu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

현재 빠르게 구현하기 위해선 이 구조가 최선인 것 같긴 하네요..!

현재 애매한 부분을 기록해놨다가 추후에 만났을 때 개선된 구조를 논의해보는 게 좋을 것 같습니다.
첫 번째로 문제로 등록되는 solution 생성 API 비즈니스 로직을 현재 API 서버로 이전하는 것이 가장 급할 것 같네요.
두 번째로 thumbnailSolutionId와 holdId가 Path Param이 아닌 Query Param으로 받고 있는데 Hold의 계층 구조가 애매하지만, Path Param으로 처리하는 것이 더 자연스러워 보이긴 합니다. 이 부분도 논의를 해보면 좋을 것 같아요..!

업로드 서버 구현이 끝나시고 시간 괜찮으시면 클라이언트, 업로드 서버, API 서버 간 문제를 생성하는 해설 업로드, 생성된 문제에 추가되는 해설 업로드 과정에서의 API 흐름 도식화해서 기술 부채로 티켓 추가해주시면 감사하겠습니다..!🙇‍♂️ 고생하셨습니다 👍

Copy link
Contributor

@ChoiWonYu ChoiWonYu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

썸네일 이미지 변경이 문제에 반영되는 것 확인했습니다👍

@wonyangs wonyangs merged commit 470ed88 into integration Dec 6, 2024
@wonyangs wonyangs deleted the feature/FLASH-335-solution-thumbnail branch December 6, 2024 03:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants