boostcampwm-2022 / web18-PRV

논문 인용관계를 밤하늘의 별 처럼 표시해보자 🌟-🌟
https://paperef.com
138 stars 3 forks source link

14-5 [FE] [논문 상세 - 네트워크 차트] 다른 노드를 선택하는 경우 해당 논문의 참조 논문을 추가로 그려준다. #101

Closed yeynii closed 1 year ago

yeynii commented 1 year ago

개요

14-5 [FE] [논문 상세 - 네트워크 차트] 다른 노드를 선택하는 경우 해당 논문의 참조 논문을 추가로 그려준다.

작업사항

리뷰 요청사항

실행화면

Dec-07-2022 21-21-46

JunYupK commented 1 year ago

테스트 결과

중요한 기능이니 만큼 코드 리뷰를 하기 전에 우선 테스트를 진행해보았습니다. 너무 고생많으신거 알지만 일단 기억이 휘발되기 전에 적어두겠습니다.

개선점 (FE)

1. 이미 클릭한 논문의 경우 별의 모양을 좀 더 크게 하거나 색깔을 다르게 한다거나 좀 더 구별점이 필요한 것 같습니다.

=> 전에 어떤 논문을 클릭했는지 헷갈립니다.

2. 클릭을 하여 추가적인 렌더링이 시작된 경우 무언가 리액션이 있어야 할 것 같습니다.

=> (로딩이라던지) 클릭하고 나서 무반응이라 되는건지 안되는건지 두 번 클릭한 경우가 자주 발생하네요

개선점 (BE)

  1. 논문의 정보가 좀 이상한 것 같습니다. (한번 데이터를 날린 뒤 추가적인 캐싱 과정 때문인가 확인이 필요합니다.) 화면 캡처 2022-12-07 234601 다음과 같이 Quantum phase transition from a superfluid to a Mott insulator in a gas of ultracold atoms 이라는 제목의 논문을 현재 시각화 하여 보여주는데 모두 unknown 으로 표시 되어 있습니다. 이 논문을 그대로 검색을 해보니, https://www.nature.com/articles/415039a 다음 페이지와 같이 26개의 refence목록들이 있고 각각 DOI가 존재하는 것을 확인 하였습니다.

그래서 혹시 crossref API쪽에 데이터가 누락된 것인가? 확인을 해보기 위해 해당 DOI로 API Call 을 해보았습니다. https://api.crossref.org/works/10.1038/415039a

해당 api에 reference 를 확인해보면 26개의 논문이 확인되고 DOI, author가 모두 존재하는 것을 확인 할 수 있습니다.

예상원인 1. elasticsearch 에 해당 데이터가 없다.

테스트를 한 시점이 한번 데이터를 날리고 진행하였기 때문에 elasticsearch에 해당 논문의 자식이 완전히 저장이 안되어 있기 때문에 DOI, author가 누락될 수도 있습니다. 근데 26개의 데이터 개수는 맞네요..

예상원인 2. 데이터를 파싱하는 과정에서 문제가 생겼다.

정상적으로 api를 call 하고 데이터를 받았지만 이를 elasticsearch에 넣기전에 파싱하는 과정에서 데이터의 누락이나 훼손이 있었을 수도 있겠네요

원인을 찾는것도 중요하지만, 데이터가 엘라스틱서치에 없는경우 crossref api에 데이터를 요청하는 보험을 들어놓는 것도 좋나고 생각합니다. (속도는 느려지겠으나, unknown이 너무 많으니 신뢰성이 떨어지는 느낌이 있네요)