ATP テニス 応援アプリ(開発途中)

製作理由:

テニスが好きでよく見るのだが,お気に入りの選手の試合日程や大会のスケジュールを検索するのを面倒に感じていた.そこで,試合日程や大会スケジュールがすぐに,視覚的に分かりやすく,表示されるアプリを作りたいと思ったから.

制作期間:

2021 年 8 月〜 現在

主要機能:

  • 4 時間ごとに,開催中の大会の試合情報をAPI から取得(開発途中)
  • 大会ごとの試合日程を表示する(開発途中)
  • 選手の試合日程を表示する
  • ログイン機能(開発途中)
  • お気に入り選手を登録する(開発途中)
  • 試合のコメント作成機能(開発途中)

デモ:

https://docs.google.com/presentation/d/1k0uyMi6ffytH4-sRNUJD_7xoUJcuEHjZ_LjAYGXRoFM/edit?usp=sharing


リンク:

http://3.233.106.108/

使用ツール:

Ruby on Rails, HTML, CSS, Bootstrap, docker-compose, AWS,  Tennis Live Data API, jQuery Mapael

  • Ruby on Rails で開発した理由

頻出単語を抽出する際に、NLTK を使いたいと思っていた。NLTK は Python のパッケージであったため、Python で開発するのが都合が良いと思ったから。

  • Tennis Live Data API を試合情報取得に用いた理由

日付けと大会を指定して試合情報を取得したかったが,それができる API が Tennis Live Data API だけだったため.

  • jQuery Mapael を世界地図の表示に用いた理由

 ATP ツアーの開催都市と世界地図をマッピングさせたかったが,任意の場所にプロットができる世界地図のライブラリが,jQuery Mapael だけであったため.

  • AWS にデプロイした理由

Tennis Live Data API を無料枠で使うために,4 時間ごとに  API からテニスの試合の情報を取得したかった.Heroku Scheduler は,10 分,1 時間,1日おきにしか取得できなかったため,より柔軟なバッチ処理ができる,AWS を使うことにした.


GitHub:

https://github.com/mayukorin/myapp_ruby_on_rails

工夫した点:

  • 世界地図を使って,開催中の大会を分かりやすく表示している点.
  • preload, eager_load を使って,n+1 問題に対処した点.https://github.com/mayukorin/myapp_ruby_on_rails/blob/main/app/controllers/players_controller.rb#L10

開発予定:

  • ログイン機能の実装
  • お気に入り選手の登録機能の実装

課題:

  • 同じ年で,異なる大会が開催される場合がある.その場合,地図で表示するのは,分かりづらくなってしまう.