Skip to content

Repository files navigation

인천대학교 컴퓨터공학과 졸업작품 "개돼쥐"조

Project명 : SSS(Social Streaming Service)

  • 음악 스트리밍 서비스들의 통합과 추천 시스템의 향상을 위한 웹 애플리케이션
  • 음악 스트리밍 서비스 + SNS 의 결합으로 추천에 대한 근거를 SNS 게시글들로 수집

사용한 기술 정보

프론트

  • HTML,CSS, ejs와 Vanila Javascript 이용

서버

  • Javascript 기반 Node.js & express.js 와 AWS EC2를 이용한 서버 구축
  • DB : sequelize를 이용한 MySQL

사용한 API

  • Youtube API, Kakao API (비즈니스 레벨 : 로그인, 친구목록 및 검색), Koalanlp API(형태소 분석기)

프로젝트 정보

1. 화면의 구성

메인 페이지

플레이리스트 - 피드(게시글) - 랭킹 및 친구 의 3단구성으로 이루어져 있다. 맨 아래에는 현재 재생중인 노래가 표시됨 기본적으로 화면의 전환에 노래가 멈추면 안되기 때문에 SPA의 구성을 취함(window.history 객체 이용) 메인2

친구 목록 & 랭킹

카카오로 로그인한 친구들과 일반 사용자 친구들의 목록 친구 랭킹

검색1 : 해시태그 검색

hash

검색2 : 분위기 검색

형태소 분석기 KoalanLp를 이용하여 게시글과 함께 올린 노래들에서 추출한 형태소들의 조합이 가장 잘 맞는 노래를 추천해줌 옆에 해당 근거도 같이 보여줌

moodsearch

검색3 : 아티스트 & 제목 검색

가장 기본적인 검색으로 아티스트 혹은 제목으로 검색할 수 있음 search

2. 주요 기능 구현 설명

아티스트 & 제목 검색

광활한 youtube의 비디오들 중 뮤직비디오가 아닌 순수 음악 파일들을 가져오기 위한 문자열 처리, 필요없는 정보들이 많이 포함돼 있을 수 있는 제목에 대한 문자열 처리가 수행됨 youtube에서 인증받은 아티스트들의 경우 가중치를 두어 체크 표시를 함으로써 해당 노래에 대한 신뢰도를 제공함

음악 관리 방법

플레이리스트는 연결리스트로 구현돼있으며 노드는 객체 { 제목 , 아티스트 , 고유 비디오id, 앨범자켓} 으로 구성돼있음 이는 다음 노래 재생 , 이전 노래 재생, 검색한 노래 추가 등을 쉽게 구현하기 위함임

형태소 분석기의 활용

(1) 사용자들이 게시글에 노래와 소감 그리고 해시태그를 적어 업로드 하면 해당 노래 DB에 형태소로 어근들을 저장함 (2) 분위기 검색에 "별이 빛나는 밤"이 입력됐을 때 "별" "빛나다" "밤" 세 가지 형태소를 가장 많이 보유한 관련있는 노래를 output으로 내보냄

  • 프로그램의 초기 목적은 "비오는 날 방 밖" 과 "비오는 날 방 안" 의 차이를 구분해 노래를 추천하는 것임. 전자에는 우울하고 차가운 느낌의 노래를, 후자에는 따듯하고 포근한 느낌의 노래를 추천해주는 것.
  • 하지만 추천 기술 머신러닝 및 딥러닝을 활용한 것이 아니기 때문에 단순 형태소들의 등장 빈도의 합을 구하는 데 그친 프로젝트가 되었음

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages