Code Monkey home page Code Monkey logo

newssum's Introduction

newsum (SSAFY 빅데이터 추천 프로젝트)

newsum2

✅ 프로젝트 진행 기간

23.08.14 ~ 23.10.06 (6주)

📖 프로젝트 개요

⭐NewSum은 뉴스 추천 웹 애플리케이션⭐

네이버 IT 뉴스를 총 8개의 분야(모바일, 인터넷/SNS, 통신/뉴미디어, IT 일반, 보안/해킹, 컴퓨터, 게임/리뷰, 과학 일반)로 구분하여 뉴스 리스트를 보여줍니다. 저희 서비스는 뉴스 본문을 3줄로 요약하여 사용자가 언제, 어디서나 손쉽게 뉴스를 볼 수 있는 기능을 제공합니다. 또한, 개인 맞춤형 추천, 스크랩 기능을 제공하여 관심 있는 뉴스 위주로 볼 수 있습니다.

🔖 프로젝트 목표

  1. 뉴스를 요약해서 한 눈에 보이게 하자
  2. 개인 맞춤형 뉴스를 제공하자

✍️ 기술 스택

Back-end
Front-end
Infra
Tools

🖥️ 주요 기능

1. 뉴스 3줄 요약

1-1. 뉴스 본문 내용을 3줄로 요약 1-2. 드래그를 통해 다음 뉴스 shorts를 볼 수 있음

모바일
뉴스숏츠 뉴스숏츠2

⭐참고

  • KPF-BERTSum
  • 한국언론진흥재단에서 구축한뉴스기사 요약에 특화된 모델

2. 분야별 뉴스 리스트

2-1. IT 뉴스 분야별로 분류하여 원하는 카테고리를 기준으로 개인 맞춤형 추천 기사를 볼 수 있다.

모바일
뉴스보기 뉴스보기2

3. 뉴스 키워드 분석 및 통계

3-1. 개인 읽은 뉴스를 기준으로 워드 클라우드 및 각종 통계를 그래프로 표현

모바일
분석 분석2

⭐참고

  • doc2vec , bm-25 방식의 추천 알고리즘 사용
  • 기사 추천을 위해 konlpy의 okt 형태소 분석기를 이용한 명사 추출
추천 알고리즘 명사 추출
알고리즘 명사추출

4. 스크랩

4-1. 개인이 원하는 기사는 스크랩 기능을 통해 따로 모아 필요 시 다시 확인 가능 스크랩

💫 아키텍처

newsum_아키텍처

🎨 ERD

newsumErd

📂 API 문서

Notion API 문서

📒 빌드 환경

Back-End 기술 자세히 보기
```java
plugins {
    id 'java'
    id 'org.springframework.boot' version '2.7.15'
    id 'io.spring.dependency-management' version '1.0.15.RELEASE'
}

group = 'com.ssafy'
version = '0.0.1-SNAPSHOT'

java {
    sourceCompatibility = '11'
}

configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
}

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-security'
    implementation 'org.springframework.boot:spring-boot-starter-validation'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.3.1'

    //json parser
    implementation group: 'com.googlecode.json-simple', name: 'json-simple', version: '1.1.1'

    //jwt
    implementation 'io.jsonwebtoken:jjwt-api:0.11.2'
    implementation 'io.jsonwebtoken:jjwt-jackson:0.11.2'
    runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.11.2'
    implementation 'com.auth0:java-jwt:4.2.1'

    //SMTP
    implementation 'org.springframework.boot:spring-boot-starter-mail'

    //Jython
    //https://mvnrepository.com/artifact/org.python/jython
//    implementation group: 'org.python', name: 'jython', version: '2.7.3'

    compileOnly 'org.projectlombok:lombok'
    developmentOnly 'org.springframework.boot:spring-boot-devtools'
    runtimeOnly 'com.mysql:mysql-connector-j'
    annotationProcessor 'org.projectlombok:lombok'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    testImplementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter-test:2.3.1'
    testImplementation 'org.springframework.security:spring-security-test'
}

tasks.named('test') {
    useJUnitPlatform()
}
```
Front-End 기술 자세히 보기
```jsx
- 패키지 매니저: `node:16.14.0`
- CSS 라이브러리: **`styled-components`**
- 종속성 라이브러리 목록:
    - **`@testing-library/jest-dom`**: 버전 5.17.0
    - **`@testing-library/react`**: 버전 13.4.0
    - **`@testing-library/user-event`**: 버전 13.5.0
    - **`@types/react`**: 버전 18.2.21
    - **`@types/react-dom`**: 버전 18.2.7
    - **`@types/react-router-dom`**: 버전 5.3.3
    - **`axios`**: 버전 1.5.0
    - **`chart.js`**: 버전 4.4.0
    - **`react`**: 버전 18.2.0
    - **`react-chartjs-2`**: 버전 5.2.0
    - **`react-cookie`**: 버전 6.1.1
    - **`react-cookies`**: 버전 0.1.1
    - **`react-dom`**: 버전 18.2.0
    - **`react-icons`**: 버전 4.11.0
    - **`react-router-dom`**: 버전 6.15.0
    - **`react-scripts`**: 버전 5.0.1
    - **`react-wordcloud`**: 버전 1.2.7
    - **`recoil`**: 버전 0.7.7
    - **`recoil-persist`**: 버전 5.1.0
    - **`styled-components`**: 버전 6.0.8
    - **`typescript`**: 버전 4.9.5
    - **`v6`**: 버전 0.0.0
    - **`web-vitals`**: 버전 2.1.4
```

😃 팀원 소개

손승연 김승용 김지희 김준석 손정민
손승연 김승용 김지희 김준석 손정민
Back-End AWS & Back-End & Recommend Back-End Front-End Front-End
[email protected] [email protected] [email protected] [email protected] [email protected]

newssum's People

Contributors

jungmin0049 avatar yeonyson avatar kimsy98 avatar zzih45 avatar jun1515 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.