본문 바로가기

Challenge/엘리스 AI 트랙 2기

엘리스 AI 트랙 2기 - 14, 15주차 모히또 레이서의 학습일지

728x90
반응형

 

 

 

9/27부터 10/15까지 총 3주간 "데이터 분석 웹 서비스 프로젝트"를 진행하였다.

 

이번 프로젝트는 총 두 가지 주제(OTT 서비스, 배달 서비스) 중 하나를 선택해, 여태 배운 데이터 분석과 결합하여 진행되었다.

 

나는 그중에 OTT 서비스를 선택했는데, 딱히 선정의 이유에 있어 별달리 큰 이유는 없고 그냥 개인적으로 넷플릭스나 왓챠같은 구독형 OTT 서비스를 자주 사용하기 때문이었다.

 


 

1주 차

 

 

 

우선 1주 차는 다음과 같은 3가지에 집중했다.

 

1. 데이터 세트 확보: 웹 서비스 제작에 필요한 데이터 수집

2. 프로젝트 기획서 작성: 아이디어를 구체화하고 계획하기

3. 스토리보드 구현

 

 

스토리 보드란?

 

디자이너/개발자가 참고하는 최종적인 산출문서로써 정책, 프로세스, 콘텐츠 구성, 와이어프레임(UI/UX), 기능 정의, 데이터베이스 연동 등 서비스 구축을 위한 모든 정보가 담겨 있는 문서이다.

 

 


 

우리 팀의 스토리 보드 중 일부

 


 

2주 차

 

 

2주 차는 1주 차에 준비한 기획과 데이터 셋을 가지고서 본격적으로 개발과 데이터 분석을 시작하였다.

 

 

1. 데이터 분석에 필요한 DB 및 백엔드 구현

2. 데이터 분석 및 시각화

3. 인사이트 도출

 

초기 DB 스키마

 


 

3주 차

 

 

3주 차는 2주 차에서 진행된 데이터 분석 결과물 및 프로젝트의 큰 틀을 기반으로 웹 서비스를 제작했다.

 

1. 기능 구현 마무리

2. UI 디자인 완성

3. 최종 발표

 

소개 페이지1

 

소개 페이지2

 



우리 프로젝트의 전체적인 개요

 

 

 

POTCHA

집에서 아무것도 하지 않고 소파에 누워 TV를 보며 뒹굴뒹굴 하나는 사람을 칭하는 "Couch Potato"에서 착안하여, 게으른 감자가 아닌, 능동적으로 콘텐츠를 발굴하고 찾아 합리적으로 소비하는 감자🥔가 사용하는 OTT service

 

 

1. 프로젝트 소개

  • 사용한 데이터
  • 기술 스택
    • 데이터 분석
      • Numpy, Pandas, Matplotlib, Seaborn
    • 백엔드
      • Python, Flask, MySQL
    • 프런트엔드
      • Python, Flask, MySQL
  • 사용된 라이브러리
    • 데이터 분석
      • Numpy, Pandas, Matplotlib, Seaborn
    • 백엔드
      • datetime, flask_migrate, flask_cors, flask_jwt_extended, flask_sqlalchemy, flask_bcrypt, werkzeug
    • 프런트엔드
      • chakra-ui, react-fullpage, nivo, axios, react-custom-scrollbars, react-icons, react-js-banner, react-redux, react-router-dom, react-slicks, react-wordcloud, recharts, styled-components

 

  • 웹 서비스 개요
    COVID-19가 장기간 지속됨에 따라 드라마부터 다큐, 영화 등 다양한 콘텐츠를 감상할 수 있는 NETFLIXWATCHATving 등 OTT 서비스의 사용량이 증가하고 있습니다.
    기존의 OTT 서비스에서는 사람들이 선호하는 콘텐츠를 추천하거나 사용자별 맞춤 작품에 초점을 맞추어 서비스를 제공하고 있습니다.
    이와 다르게 Dobbie팀은 MZ 세대와 같이 유행에 민감하고 트렌드를 이끌어 가길 원하는 사람들의 니즈에 초점을 맞추었습니다. 영화와 TV 프로그램에 대한 다양한 데이터들을 수집하고 분석하여 흥행할 작품들을 다른 OTT 서비스보다 먼저 선별하여 사용자에게 추천하는 흥행 예측 서비스를 제공합니다.
    COVID-19 대유행 전 후의 미디어 시장에서 흥행 장르의 변화를 주목하여, 흥행 예측할 작품과 더불어 COVID-19 대유행 전에 해당 작품과 유사한 장르 또는 성격을 지닌 콘텐츠를 소개하며, 미디어 시장의 선 순환을 발생할 수 있겠다는 의도로 해당 프로젝트를 기획하였습니다.

 


 

 

2. 프로젝트 목표

  • 자체 개발한 트렌드 분석 알고리즘을 통해 앞으로 유행할 콘텐츠를 사용자에게 추천합니다.
  • 트렌드 분석 결과를 바탕으로 COVID-19 이전 작품들 중 빛나지 못했지만 흥행 요소를 갖춘 콘텐츠들을 사용자에게 소개합니다.
  • 사용자가 찜한 콘텐츠를 분석하여 선호하는 장르 또는 콘텐츠에 대한 키워드를 시각화하고, 사용자들이 본인의 취향 및 선호하는 키워드를 파악할 수 있도록 도와줍니다.
  • 사용자가 선호하는 장르 및 키워드를 바탕으로, 사용자 취향에 알맞은 콘텐츠를 추천합니다.

 


 

3. 프로젝트 기능 설명

  • 메인 기능
    • 콘텐츠 흥행 예측
      • 현재 유행하는 콘텐츠들의 트렌드를 분석하여 점수화하는 자체 알고리즘을 CODIV-19 이후 작품들에 적용하여 앞으로 흥행할 것이라 예상되는 작품들을 POTCHAR에게 소개합니다.
    • CODIV-19 이전 유사 콘텐츠 추천
      • CODIV-19 이전 작품들에 자체 알고리즘을 적용하여 흥행 예측 작품과 유사하지만 빛을 보지 못했던 작품들을 POTCHAR에게 추천합니다.
    • 찐 감자 분석
      • 사용자가 찐(좋아요를 누른) 콘텐츠를 분석하여 선호하는 장르, 키워드, 국가, 배우, 감독, 긍정어, 부정어를 시각화하여 보여줌으로써 사용자의 취향 파악을 돕습니다.
    • 사용자 맞춤 추천 콘텐츠
      • POTCHAR의 찐 감자들과 비슷한 콘텐츠를 사용자에게 추천합니다.
  • 서브 기능
    • 친구 추가
      • 친구 추가를 통해 내가 알고 있는 또 다른 POTCHAR의 취향을 확인할 수 있습니다.
    • 정렬 및 필터링 기능
      • 정렬과 필터링 기능을 사용하여 원하는 기준으로 콘텐츠를 확인할 수 있습니다.
    • 관련 Youtube 영상 소개
      • 콘텐츠와 관련된 Youtube 영상을 소개함으로써 POTCHAR가 콘텐츠를 선택할 때 도움이 될 수 있도록 합니다.
  • 프로젝트만의 차별점, 기대 효과
    • 기존 OTT 서비스에서 대중이 선호하는 콘텐츠를 추천하는 것과 다르게, POTCHA에서는 유행에 민감한 POTCHAR들을 위해 현재 흥행하는 콘텐츠들을 분석하여 앞으로 흥행할 작품들을 예측하는 데 초점을 두었습니다.
    • 이와 더불어 과거 흥행하지 못했지만 트렌드의 변화에 따라 현재는 흥행 요소를 갖춘 콘텐츠를 POTCHAR에게 소개함으로써 미디어 시장의 확대 및 과거 유행하지 못했던 콘텐츠들에 대한 부흥을 기대할 수 있습니다.

 


 

 

4. 프로젝트 구성도


 

 

5. 프로젝트 팀원 역할 분담

이름, 역할

모히또 Developer / 백엔드 / 데이터 분석 / 기획
백엔드/데분 팀원1 Developer / 백엔드 / 데이터 분석 / 기획
프론트 팀원1 Developer / 프론트엔드 / 기획 / 배포
프론트/데분 팀원2 Developer / 프론트엔드 / 데이터 분석 / 기획

멤버별 responsibility

  • 팀장
  • 기획 단계: 구체적인 설계와 지표에 따른 프로젝트 제안서 작성
  • 개발 단계: 팀원 간의 일정 등 조율 + 프런트 or 백엔드 개발
  • 수정 단계: 기획, 스크럼 진행, 코치님 피드백 반영해서 수정
  • 프런트엔드
  • 기획 단계: 와이어프레임 작성, 사용자 친화적 UI/UX 디자인 설계, 컴포넌트 및 폴더 구조 디자인
  • 개발 단계: 와이어프레임을 기반으로 기능 및 디자인 구현, 데이터 처리 및 시각화 담당, UI 디자인 완성
  • 수정 단계: 피드백 반영해서 UI/UX 디자인 수정 및 반영, 발표 준비
  • 백엔드 & 데이터 담당
  • 기획 단계: 기획 데이터 분석을 통해 해결하고자 하는 문제를 정의
  • 개발 단계: 웹 서버 사용자가 직접 백엔드에 저장할 수 있는 기능 구현, 데이터 베이스 구축 및 API 활용, 데이터 분석 개념 총동원하기
  • 수정 단계: 코치님 피드백 반영해서 분석/ 시각화 방식 수정

 


 

6. 버전

  • 1.6.1

 


 

첫 팀 프로젝트가 끝나고 느낀 점

 

우선 정말 협업이라는 게 쉽지 않다는 것을 느꼈다. 그리고 팀장의 역할을 무게도 실감했다...

내가 생각하는 팀장은 팀원들보다 더 많이 움직이고 더 많이 생각하고 더 많은 아이디어를 가져야 한다고 생각했다.

물론 그런 팀장이 되려고 나름대로 노력했지만 마음대로 따라주지 않았고 내가 한참 부족하다는 것을 느꼈다.

 

앞으로 마지막 팀 프로젝트가 하나 남았다.

더 열심히 공부하고 다음엔 똑같은 실수를 하지 않기 위해 각골명신한 자세로 개선해 나아가야 할 방법을 깊이 새겨야겠다.

 

그리고 이번 팀 프로젝트를 하면서 가장 중요한 게 느낀 점은 자신의 능력이 부족하다 해도 팀원을 믿고 그들과 끊임없이 소통하며 포기하지 말고 끝까지 완주하는 것이다.

 


 

728x90
반응형