1.뉴스기사 도메인 설계 및 엔티티 구현
- NewsArticle 엔티티 설계
- 출처
- 원본 기사 링크
- 제목
- 발행일
- 요약
- 조회수
- 논리 삭제 여부
- 원본 기사 링크 중복 방지를 위한 unique 제약 조건 적용
- 관심사와 뉴스기사 간 다대다 관계를 중간 테이블 ArticleInterest로 분리
- 사용자별 기사 조회 여부를 관리하기 위한 ArticleView 엔티티 구현
- 댓글 수, 조회 수, 관심사 필터링에 필요한 연관관계 설계
ArticleCollector 인터페이스 기반으로 구조 설계 및 구현Naver API, RSS 수집기를 각각 구현하여 출처별 수집 방식이 달라도 공통 흐름에서 처리될 수 있도록 구성List<ArticleCollector>를 주입받아 등록된 수집기를 순회하며 뉴스 기사를 수집하도록 구현public interface ArticleCollector {
ArticleSource getSource();
List<CollectedArticle> collect(List<String> keywords);
}
- Naver API 기반 뉴스기사 수집 기능 구현
- RSS 기반 뉴스기사 수집 구조 설계
- 한국경제
- 조선일보
- 연합뉴스
- ArticleCollector 인터페이스 기반으로 출처별 수집 로직 분리
- 관심사 키워드 목록 조회 후 기사 제목/요약과 매칭
- 키워드가 포함된 기사만 저장되도록 필터링
- 원본 기사 링크 기준 중복 기사 저장 방지
- 하나의 기사가 여러 관심사 키워드에 매칭될 경우,
뉴스기사-관심사 연결 데이터가 함께 저장되도록 구현
뉴스기사가 주기적으로 수집될 수 있도록 스케줄링 기반 배치 작업을 구현했습니다.
담당 작업: