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] 5.03 주식 리스트 가져오기 API 구현 #93

Merged
merged 9 commits into from
Nov 13, 2024

Conversation

jinddings
Copy link
Collaborator

@jinddings jinddings commented Nov 12, 2024

✅ 주요 작업

💭 고민과 해결과정

  • 한국 투자 증권 API 사용 불가
    한국 투자 증권 open API에서 전체 주식 목록을 제공하는 API가 따로 존재하지 않다는 것을 알게 되었습니다.
    이에 대안으로 공시 정보를 제공하는 DART의 OpenAPI의 사용을 시도 했지만 저희가 원하는 데이터베이스를 구성하기에 부족한 정보를 제공함에 따라 KRX, Naver 증권에서 데이터를 크롤링 해오는 python 라이브러리인 financeDataReader를 알게 되었습니다.
    각 회사 정보는 하루에 한번 꼴로 데이터를 가져오면 되기 때문에 API를 구성할 필요성이 적고 해당 패키지를 이용한 python 스크립트를 작성하고 crontab을 이용해 하루에 한번 혹은 여러 번 갱신 할 수 있기 때문에 해당 라이브러리를 사용하는 것도 좋은 대안이 되어 줄 수 있을 것 같습니다.

@jinddings jinddings requested review from uuuo3o and sieunie November 12, 2024 14:05
@jinddings jinddings added BE 백엔드 API API 구현 labels Nov 12, 2024
@@ -0,0 +1,46 @@
import FinanceDataReader as fdr
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.

파이썬에 있는 라이브러리더라구요! 아직 검색이 부족했는지 잘 모르겠지만.. nestjs에선 못찾겠네요

});
}
if (params.code) {
queryBuilder.andWhere('code LIKE :code', { code: `%${params.code}%` });
Copy link
Collaborator

@uuuo3o uuuo3o Nov 12, 2024

Choose a reason for hiding this comment

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

🟢 이거 %{params.code}% 조건을 이렇게 하는 것보다 {params.code}% 이게 더 구현 의도와 맞지 않을까요?
지금 이렇게 조건이 되어있으면
'삼성' 을 쳤을 때
ㅇㅇ삼성 삼성ㅇㅇ 이렇게 삼성이 포함된 모든 단어가 다 출력되니까 어색하게 느껴져요.
삼성ㅇㅇ 처럼 입력한 단어로 시작하는 단어만 출력되는게 더 자연스러울 것 같아요!

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

실제로 토스에서 확인 해보았을땐 삼성OO , OO삼성 둘다 나오는 걸로 봐서 이렇게 작성했긴 한데 한번 생각해보겠습니다!

Copy link
Collaborator

Choose a reason for hiding this comment

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

헐 토스에서 저렇게 하는군요!! 말씀 보자마자 검색하고 왔는데 그렇네요!! 그대로 둬도 괜찮을 거 같아요

@uuuo3o uuuo3o linked an issue Nov 12, 2024 that may be closed by this pull request
@jinddings jinddings self-assigned this Nov 12, 2024
return new StockListResponseDto(stock.code, stock.name, stock.market);
}

async findAll() {
Copy link
Collaborator

Choose a reason for hiding this comment

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

🟢 우왕 이거 만들어두셨군용! 제 파트에서도 이 메소드 필요해서 만들어두고잇엇는데 진명님거 머지하면 가져다 쓰면 되겠네용 👍

@jinddings jinddings merged commit 10476c6 into back/main Nov 13, 2024
2 checks passed
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
Development

Successfully merging this pull request may close these issues.

[BE] 5.03 주식 리스트 가져오기 API 구현
3 participants