0%

KBO Dashboard

이 글은 한국프로야구(Korea Baseball Organization) 대시보드를 구축할 때 사용했던 도구들을 정리합니다.

시작하며

해당 시리즈는 데이터 스크래핑을 진행한 이후부터 설명한다. 아마도 데이터 스크래핑은 현재 패키지 작업을 하고 있기에 따로 시리즈를 만들어 글을 쓰게 될 것 같다. 또한 해당 시리즈는 웹 개발을 배워보고 싶다는 마음으로 간단하게 만든 사이드 프로젝트이다. 따라서 상업적인 목적으로 웹을 만드는 사람들은 재미로만 봐주면 될 것 같다. 완성된 대시보드는 여기로 접속하면 볼 수 있다.

KBO 대시보드를 만들 때 사용하는 것들을 다음과 같다.

  • Flask
  • mariaDB
  • Dash
  • Bootstrap5
  • Plotly
  • AWS ec2 or lightsail

위에 언급된 것들에 대해서 간단히 살펴보자.

Flask

플라스크는 파이썬으로 구동되는 웹 프레임워크 중 하나이다. 상용으로 사용하는 웹 프레임워크인 장고(django)보다 가볍고 간단한 서버들도 생성할 수 있어서 데모 버전을 만드는 프로젝트에 적합하다.

mariaDB

mySQL과 동일하게 작동하는 데이터베이스 관리 시스템이다. 무료로 사용 가능하다.

Dash

대시보드를 만드는 데 특화된 파이썬 웹 프레임워크이다. html이나 css 코딩 없이 오로지 파이썬만으로 웹을 생성할 수 있다. 또한 plotly 시각화 툴을 바로 적용할 수 있다.

Bootstrap5

부스스트랩은 웹페이지를 쉽게 생성할 수 있도록 도와주는 HTML, CSS, JS 프레임워크이다. 직접 디자인들을 설정하지 않고도 괜찮은 테마를 사용할 수 있으며, 스크린 사이즈(PC, 태블릿, 스마트폰)에 맞춰서 반응하는 UI를 제공한다. 플라스크와 마찬가지로 사이드 프로젝트로 간단한 웹을 만들 때 사용하기 좋다. 현재 플라스크에서 사용할 수 있는 버전은 Bootstrap3이지만 새로 나온 Bootstrap5를 써보고 싶어서 라이브러리 코드를 수정해서 사용하였다. Bootstrap5를 적용하는 방법은 이후에 설명할 것이다.

Plotly

Plotly는 파이썬으로 시각화를 할 수 있는 무료 오픈소스 그래프 라이브러리이다. 실시간으로 그래프를 확대 및 축소할 수도 있으며, 제공하는 그래프 종류도 다양하다. 그래프 종류가 궁금하다면 해당 링크를 통해서 확인할 수 있다.

AWS ec2 or lightsail

아마존 클라우드 서비스에서 제공하는 가상서버(ec2)를 웹 서버로 사용한다. 현재 프리 티어라서 무료로 사용하지만, 무료 기간이 끝나면 lightsail로 웹 서버를 구축할 예정이다. lightsail은 AWS에서 제공하는 가상서버이지만, ec2와 달리 월마다 가격이 정해져 있어서 비교적 저렴하다.