PickiT은 사용자가 관심있는 키워드 기반으로 뉴스를 필터링하고, 관련 뉴스를 제공하는 앱입니다.
사용자가 직접 설정한 키워드뿐만 아니라 추천 키워드를 기반으로 최신 뉴스를 손쉽게 찾아볼 수 있습니다.
또한, 뉴스 본문의 핵심 내용을 빠르게 파악할 수 있도록 요약 기능을 제공하여, 시간 효율성을 극대화했습니다.
PickiT은 사용자 맞춤형 뉴스 제공과 정보 요약이라는 두 가지 핵심 기능을 제공합니다.
Firebase Realtime DB
사용자 정보, 스크랩 뉴스, 키워드 데이터를 효율적으로 저장하고 실시간 동기화 기능을 제공
Firebase Cloud Functions
언론사 뉴스 크롤링, RSS Feed parsing 및 AI기반 요약 기능을 백엔드에서 자동화하여 처리
Flutter
크로스 플랫폼 개발을 통해 iOS와 Android에서 일관된 사용자 경험 제공
OpenAi API
크롤링한 기사 본문 내용을 제목과 관련있는 내용 중심으로 간단하게 요약
사용자가 등록한 키워드와 관련있는 뉴스를 필터링하여 사용자에게 제공합니다.
언론사 RSS Feed parsing을 통해,
사용자가 등록한 키워드가 parsing한 feed의 title요소 문자열안에 존재하면 필터링.
Google Trends의 인기검색어중 상위 10개를 추출하여 사용자에게 제안 및 등록이 가능합니다.
Google Trends의 인기검색어에서 html구조를 파악하여 클라이언트내에서 크롤링.
필터링된 뉴스에서 본문을 추출해 3~5줄로 요약하여 사용자에게 제공합니다.
OpenAi API를 활용, 추출한 기사 본문을 3~5줄내로 요약하는 프롬프트를 작성함.
현재 1차원 배열로 선언한 언론사 목록(현재 약 8개의 언론사)을 각각 동기처리 방식으로 가져옴, 따라서 속도가 상당히 느림.
비동기처리를 하면 좀 더 빠르게 사용자에게 필터링된 뉴스를 제공할 것으로 기대.
현재는 RSS Feed의 img태그를 가져오는 방식.
따라서 RSS Feed에 태그가 없을 시 혹은 태그 이름이 다를 때 썸내일을 가져오지 못하는 상황이 발생.
크롤링하여 html구조에서 img태그를 가져오는 방식이 더 적절하다고 판단됨.
현재 클라이언트에서 Google Trends를 크롤링하여 상위 10개의 인기 검색어를 추출함.
html구조가 변경되면 향후 이 방법을 사용하지 못함.
따라서, Google Trends API를 활용하는게 더 적절한 방법이라고 판단됨.