ATP テニス 応援アプリ(開発途中)
製作理由:
テニスが好きでよく見るのだが,お気に入りの選手の試合日程や大会のスケジュールを検索するのを面倒に感じていた.そこで,試合日程や大会スケジュールがすぐに,視覚的に分かりやすく,表示されるアプリを作りたいと思ったから.
制作期間:
2021 年 8 月〜 現在
主要機能:
- 4 時間ごとに,開催中の大会の試合情報をAPI から取得(開発途中)
- 大会ごとの試合日程を表示する(開発途中)
- 選手の試合日程を表示する
- ログイン機能(開発途中)
- お気に入り選手を登録する(開発途中)
- 試合のコメント作成機能(開発途中)
デモ:
https://docs.google.com/presentation/d/1k0uyMi6ffytH4-sRNUJD_7xoUJcuEHjZ_LjAYGXRoFM/edit?usp=sharing
リンク:
使用ツール:
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
開発予定:
- ログイン機能の実装
- お気に入り選手の登録機能の実装
課題:
- 同じ年で,異なる大会が開催される場合がある.その場合,地図で表示するのは,分かりづらくなってしまう.