欧州サッカーの試合結果配信サービスをリリースしました
はじめに
kaneko daichiと申します。現在、フィヨルドブートキャンプでRubyを中心にプログラミングを学習中です。
今回、最終課題である「Webサービスをリリースする」プラクティスで欧州サッカーの試合結果配信サービスであるEuro Foot Checkerをリリースしました!
euro-foot-checker.herokuapp.com
Euro Foot Checkerの紹介
Euro Foot Checkerは欧州サッカーリーグの試合結果を一覧で確認できるサービスです。
ユーザーは欧州5大リーグのチームから好きなチームを登録し、最新の試合結果を一覧で確認することができます。
以上の5つのリーグのチームから選択が可能です。
毎日7:30に試合結果を更新し、夜中に行われた試合を朝確認できます!
このサービスが解決すること
僕は欧州サッカーを見ることがとても好きで試合結果などをヤフースポーツなどで確認していました。
しかし、さまざまなリーグに所属する好きなチームの結果を確認しようとするとwebページを移動する必要があり、お気に入りチームが多い人は確認するのに手間がかかってしまいます。
このサービスはお気に入りチームを登録しておくと最新の試合結果を一覧で確認できページ移動の手間がかからなくなります。
サービスの使い方
1.アカウントを登録する
アカウントの登録の際にメール認証があるのでそちらを認証して登録しましょう!
2.試合結果が知りたいチームを登録する
アカウント登録が完了しログインすると、チーム登録ボタンがあるのでそこからチーム選択ページへいき、試合結果の知りたいチームを登録しましょう!
3.試合結果が一覧で確認する
試合結果の知りたいチームの登録が終わったらサービスロゴをクリックして試合結果一覧ページにいきましょう。
登録したチームの最新の試合結果が一覧で確認できます!
技術スタック
- Ruby on Rails
- Ruby
- JavaScript
- RSpec
- データベース
- CI/CD
- Github Actions
- Heroku
開発で大変だったこと
まず最初に開発で何が大変だったかと振り返ると正直全てが大変でした... 初めてやる事ばかりで最初は「どうすればいいんだ...」と言った気持ちでした〜
1からサービスを作るということで全て自分で決めていかなければならなく考えることがとても多かったな〜と思います。
サービスを考える
まずはサービスを考えるところから始めなければなりません。
自分の作るサービスがどんな問題を解決するのかの言語化が難しかったです。
また、最初に見た目をある程度決めるペーパープロトタイプの作成も初めてだったのでサービスの開発に着手する前にやることも結構多いんだな〜と感じました。
データベース設計
1からサービスを作るのでデータベース設計もやる必要があります。
自分のサービスのリソースを洗い出して設計していきました。
1度プラクティスでやっていたけど正規化が上手くできていなかったり、テーブル同士の関連付けだったりを考えるのが大変でした。
実際に開発作業に入る前に駒形さんにレビューをしてもらえたのはとてもありがたかったです!
どうやって実現するか
サービスでは試合結果のデータを取得する必要がありました。
最初はスクレイピングで実装していこうかと思ってましたがサッカーという世界的なスポーツだしAPIで何かないかな〜と思い調べたら結構たくさんのAPIがあって驚きました。
今回はこのAPI-FootballというAPIを使用しました。
外部APIを使うのは初めてでドキュメントを見ながらどんなデータが取れるのか調べて試行錯誤しながら進めました!
デザインを考える
サービスが大体完成に近づいてデザインをつけていくのですがシンプルに見やすくするにはどうしたらいいか考えるのは難しかったです。
登録してもらいやすくするために新規登録ボタンはログインボタンよりも強調したり、試合結果一覧ではスコアを大きくして結果がわかりやすくなるように修正したりしました。
デザインレビューを受けた際もデザインの抜けている部分が多く、もっと気を使ってデザインをあてていく必要があるな〜と感じました。
また、サッカーチームはどのチームもメインカラーを持っているためサービスのカラーはどのチームにも寄り難い黒系で統一しました!
開発を進める中でやって良かったこと
やることを書き出す
開発ではやることが多く自分は何からやればいいか考えすぎてしまうタイプなので考えることが多くなると紙に一旦書き出して整理するということを行いました。
問題があれば何が原因かどうすれば解決しそうかなどを書き出すと気持ちの整理もできてとても良かったです!
こまめにPRを出すこと
開発は途中で気持ちが下がってしまうこともよくあったので「やってる感」を出す意味でも大きいPRではなく小さくしてこまめに出していったのは良かったかな〜と思います!
質問タイムを活用する
正直これが一番大きいと思います〜
開発では分からないことや誰かに確認してほしいことが多くありました。
なので分からないことがあったら質問タイムに積極的に参加しました!
おそらく質問タイムに参加していなかったら完成できていないと思います...
また、現在はペアプロなんかも積極的に行われていてみんなでワイワイしながら進めれば気持ちも高く保ててとてもいいな〜と思います!
これからやってみたいこと
現在は欧州5大リーグのチームしか選択できませんが、マニアックなリーグも選択できるようにしてみたいです。
デザインについてもシンプルに見やすいようにしていますが改善できるとこはこれから出てくると思うのでリリースして終わりではなくちょっとずつでいいので良くしていければいいな〜と思います!
最後に
自作サービスを開発していく中でメンターや受講生の方にとてもお世話になったな〜と思います。
サービス案から設計などレビューしてくださった、駒形さん 、町田さん、質問タイムでお世話になった梅本さん、rihoさん、「サービス楽しみです」と声をかけてくださった受講生やメンターの方々、とても感謝しています!!!