Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BE] 11.03, 12.03, 13.03 종목 즐겨찾기 API 구현 #177, #178, #179 #197

Merged
merged 6 commits into from
Nov 26, 2024

Conversation

sieunie
Copy link
Collaborator

@sieunie sieunie commented Nov 25, 2024

✅ 주요 작업

  • 주식 즐겨찾기 등록 API 구현
  • 주식 즐겨찾기 취소 API 구현
  • 주식 즐겨찾기 리스트 조회 API 구현
  • 특정 종목에 대한 즐겨찾기 등록 여부 조회 API 구현

💭 고민과 해결과정

  • 소켓 구독 리소스 아끼기 위해서 즐겨찾기 조회 시에 API로 현재가 가지고 오도록 구현했고, 소켓으로 실시간 가격을 보내주지는 않도록 했다.
  • task에 있는 API 외에도 특정 종목 디테일 페이지 들어갔을 때 현재 즐겨찾기에 등록된 종목인지 확인하는 API가 있어야할 것 같아서 만들어두었다. (아래 이미지 하트 색칠 여부 결정)
    image

Copy link
Collaborator

@uuuo3o uuuo3o left a comment

Choose a reason for hiding this comment

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

고생하셨습니다.

task에 있는 API 외에도 특정 종목 디테일 페이지 들어갔을 때 현재 즐겨찾기에 등록된 종목인지 확인하는 API가 있어야할 것 같아서 만들어두었다. (아래 이미지 하트 색칠 여부 결정)

그리고 이 부분, 제가 프론트엔드를 잘 모르기때문에.. 이런 말을 해도 되는진 모르겠지만 이런 방식은 어떨까 싶어서 일단 리뷰로 남겨봅니다.

  1. 로그인할 때 해당 유저의 즐겨찾기 정보도 가지고 와서(api로 해당 유저의 전체 즐겨찾기 내역을 가지고오게!) 즐겨찾기 정보를 상태로 저장(FE에서의 상태관리)
  2. 즐겨찾기 추가/삭제가 없는 한 프론트에서 관리하는 상태로만 하트 색칠여부를 결정
  3. 즐겨찾기 추가/삭제 이벤트가 발생하면 그때 프론트엔드 쪽에서도 해당 유저에 대해 상태 업데이트하고, API 호출하면서 DB도 업데이트되니까 서버와 프론트간의 동기화도 맞춰줌

이렇게 하면 특정 페이지를 들어갈 때마다 요청할 필요도 없고 상태가 변하지 않는 이상은 프론트엔드 쪽에서만 관리가 되지 않을까 싶어서... 남겨봅니다!! 시은님도 프론트는 아니지만 혹시 어떻게 생각하시나 궁금해서...ㅎㅎ

+) 그리고 어차피 이미 API도 만들어진 마당에 프론트분들이 원하는 대로만 드리면 되는거라 그냥 정말 가볍게!!! 읽어주시면 됩니다

@@ -31,4 +38,22 @@ export class StockBookmarkController {
stockCode,
);
}

@Delete('/:stockCode')
Copy link
Collaborator

Choose a reason for hiding this comment

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

🟢 이거 앞에 슬래시 없어도 똑같이 동작하지 않나요?? 제 코드에서는 항상 / 를 안썼어서 이것도 뭔가 통일하는 것도 좋을 거 같네요

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

좋습니당 내일 같이 이야기해봐요!

@@ -1,6 +1,7 @@
import {
Controller,
Delete,
Get,
Copy link
Collaborator

Choose a reason for hiding this comment

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

🟢 이거 뭔가 import 순서가 Controller, Req, Param, Get, Post, Delete 이런 식으로 쓰면 더 자연스럽게 읽힐 거 같아요.
지금은 Delete, Get 이 순서면 post도 같이 나와야할 거 같은데 중간에 param 이 있고 post가 다시 나오니까 살짝 아쉽네요.
근데 진짜 별거 아닌 문제라서 수정안하셔도 됩니다.

@sieunie
Copy link
Collaborator Author

sieunie commented Nov 25, 2024

  1. 로그인할 때 해당 유저의 즐겨찾기 정보도 가지고 와서(api로 해당 유저의 전체 즐겨찾기 내역을 가지고오게!) 즐겨찾기 정보를 상태로 저장(FE에서의 상태관리)
  2. 즐겨찾기 추가/삭제가 없는 한 프론트에서 관리하는 상태로만 하트 색칠여부를 결정
  3. 즐겨찾기 추가/삭제 이벤트가 발생하면 그때 프론트엔드 쪽에서도 해당 유저에 대해 상태 업데이트하고, API 호출하면서 DB도 업데이트되니까 서버와 프론트간의 동기화도 맞춰줌

음 저도 프론트 거의 몰라서...ㅎㅎ 제 생각도 진님께서 말씀해주신 방식 가능할 것 같고 API 호출도 줄일 수 있으니까 더 효율적이라는 생각이 드네요!! 이건 내일 데일리스크럼 때 프론트분들이랑 같이 상의해서 결정해보도록 해용

@sieunie sieunie changed the title [BE] 11.03, 12.03, 13.03 종목 즐겨찾기 등록 API 구현 #177, #178, #179 [BE] 11.03, 12.03, 13.03 종목 즐겨찾기 API 구현 #177, #178, #179 Nov 26, 2024
@sieunie sieunie merged commit cb409cb into back/main Nov 26, 2024
2 checks passed
@sieunie sieunie deleted the feature/api/bookmark-#177#178#179 branch December 5, 2024 01:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
API API 구현 BE 백엔드
Projects
None yet
2 participants