[ 지금뉴스 ! ] 프로젝트 전반전

안영우·2020년 11월 2일
0

✏️ 서론

[ 지금 뉴스! ] 프로젝트는 아직 전반전까지 진행되지 않았지만, 내가 구현하고 싶었던 기능들을 만드는데 많은 시간이 들었다.

특히, 팀프로젝트가 아닌 혼자서 진행하는 프로젝트이기때문에 내가 시간을 내서 하고 싶을때 언제든지 할 수 있는 장점도 있지만, 반대로 난관에 봉착할때는 구글링의 힘을빌려서만 진행 할 수 있다는 점이 어려웠다.

아직 누군가와 협업을 진행해본적은 없지만, 남에게 피해를 끼치지 않을정도의 실력을 길러 다른사람과 협업의 과정을 거치고 싶다는 생각을 했다.


✏️ 본론

저번 글에서 작성했던 본론내용을 가져왔다.

  1. 사용언어: Python, Javascript, HTML, CSS
  2. 서버구축: Flask
  • DB구축은 하지 않겠다. JSON내용을 그대로 CardForm으로 만들어서 제공 할 예정이다.
  1. OpenAPI: google_news_api
  2. 소요시간: 24시간(?)
  3. 난이도: 3.5 / 5 (개인적인 생각)
  4. 주요기능(구현 완료: ⭕️, 구현 미완료: ❌ )
    ⭕️ 현재시간기준 google_newshead_line뉴스를 보여준다.
    ⭕️ 관련된 뉴스의 장르를 선택 할 수 있다.
    ⭕️ 관련된 뉴스의 국가를 선택 할 수 있다.
    ⭕️ 키워드별 헤드라인 뉴스를 가져 올 수 있다.
    ❌ 원하는 뉴스의 스크랩 후 DB에 저장하는 기능(고려중)
    ❌ 기타 편의기능들..

주요기능60%는 누구의 도움도 받지 않고 구현했다. 프로젝트를 진행하면서 느낀것인데 구글(Google)은 단연 최고의 사이트라고 생각했다. 구글이 없으면 어떻게 기능을 구현했을지 이제는 무서울지경이다. (사랑해요 구글)

📍 주요기능

하단의 사진은 메인페이지모습이고,현재시간기준으로 GoogleNewsAPI를 사용하여 뉴스를 Cardform형식으로 보여주는 기능이다.

javascriptprintTime을 사용하기 위해 삽질을 꽤 많이 했던 편이다. setTimeout기능으로 일정시간이 지난후에 함수를 호출하는 방법을 사용했다. delay1000m/s(밀리초) == 1초 이고 사용자가 원하는 시간만큼 delay시킬 수 있다.

시간코드는 다음과 같다.

<script>
function printTime() {
     let clock = document.getElementById("clock");
     let now = new Date();
     let nowTime = now.getFullYear() + "." + (now.getMonth() + 1) + "." + now.getDate() + ". " + now.getHours() + "시" + now.getMinutes() + "분" + now.getSeconds() + "초";
          clock.innerHTML = nowTime;
          setTimeout("printTime()", 1000);
        }
</script>

<body>
  <h3>서버시간: &nbsp&nbsp<span id="clock"></span></h3>
</body>

두번째 사진은 현재시간 기준 원하는 카테고리별 원하는국가를 선택하여 HeadlineNews를 가져오는 화면이다.

카테고리 : business, general, sports, entertainment, healthy, science, technology
국가 : kr, us 등 54개국

세번째 사진은 키워드별 검색뉴스다.
키워드 입력칸에 원하는 내용을 작성하면 정렬기준에 따라 관련된 기사를 볼 수 있다.
정렬기준은 다음과 같다.
여기까지가 구현한 기능이고, 키워드칸에 날짜까지 선택 할 수있게 기능을 추가 할 예정이다.

정렬 기준
  - relevancy = `keyword`와 밀접한 관련이 있는 기사
  - popularity = 인기있는 출처, 출판사의 기사
  - publishedAt = 최신기사


✏️ 결론

지금까지 내 손으로 만드는 프로젝트의 전반전이 종료되었다.
아직 부족한 점도 많고 보충 할 점도 많고 지적받을 점도 많지만,
결론적으로 여기까지 누구의 도움도 거치지 내 손으로 직접 만들었다는 점이 가장 뿌듯했다.
굵직한 기능 추가는 어느정도 정리 된듯하니까 조금씩 프로젝트를 다듬어보면서 세세한 기능들을 만들어보겠다.

profile
YW_Tech

0개의 댓글