<aside> 💡

정보구조도.png

서비스 핵심 기능 (MVP1)

  1. 국내/해외 뉴스 기사 기반 트렌드 추천 기능
  1. 키워드 기반 시각화된 지표(인사이트) 제공
  1. 커뮤니티 기능
  1. 일정 관리 기능
  1. 문서화

애자일 방법론을 적용하여 이후 개발 진행도에 따라 메신저, 사용자 페르소나 등의 기능 추가 예정 (MVP2, MVP3 …)

</aside>

<aside> 💡

사용할 기술 스택들

</aside>

<aside> 💡

기술 스택 선정 이유

  1. 크롤링 및 키워드 추출, 재가공 : BeautifulSoup 업계 트렌드를 실시간으로 제공하기 위해 주기적으로 많은 양의 뉴스 데이터들을 빠르게 수집햘 필요가 있음 Python 생태계의 Pandas, Requests 등의 다양한 라이브러리를 통해 데이터의 수집, 재가공, 분석, 시각화 등을 통합적으로 관리하는 것이 가능함
  2. 개발언어 및 프레임워크 : Java(SpringBoot) 스프링 프레임워크는 POJO**,** IOC, DI의 특징을 가짐 → 변화와 확장에 강점을 가져, 향후 개발 진행도에 따라 여러 기능을 추가할 계획이 있는 본 프로젝트에 적합하다고 판단, 또한 본 프로젝트에서 사용할 React의 비동기 처리 기능과 SpringBoot의 RESTful API를 결합하면 사용자의 채팅에 대한 빠른 응답이 가능할 것으로 판단
  3. 인증/인가 : 토큰 기반 인증(Jwt) stateless 방식이므로, 서버의 부하를 최소화하는 것이 가능 확장성과 효율성 측면에서 이점을 가지고, 마이크로 아키텍처를 적용하는 것이 가능해 본 프로젝트에 사용하기 적합하다고 판단
  4. 데이터베이스 : PostgreSQL + Redis 뉴스 기사 키워드 분석 기능의 구현에 있어 주기적으로 잦은 데이터베이스의 변경이 예상됨 챗봇에서 사용자와의 상호작용을 동시에 처리, 사용자의 채팅 내역을 저장할 필요가 있음 → 대량의 데이터를 빠르게 처리 가능하고, ACID를 준수하는 Postgresql이 적합하다고 판단

실시간 인기 키워드, 최근 검색 기록 기능의 구현에 있어서 매번 db에 접근해서 정보를 가져올시 성능 저하 문제가 있음 → 캐싱을 통한 빠른 데이터 액세스가 가능한 Redis을 함께 도입 5. CI/CD : Jenkins 자체 서버에서 독립적으로 실행할 수 있는 Jenkins가 주기적으로 뉴스 기사를 크롤링 해와야하는 본 프로젝트에 보안과 제어 측면에서 가장 적합하다고 판단 6. 챗봇 엔진 : OpenAi GPT 4-o 본 프로젝트는 한글 기반 서비스를 제공하고, 데이터의 파인튜닝의 측면에서도 한글 처리 능력이 우수한 GPT 4-o가 가장 적합하다고 판단 </aside>

<aside> 💡

개발 중 예상가능한 어려운 점

<aside> 💡

현재 작성된 ERD (초안)

image.png

</aside>