ポートフォリオ(bestpra)
【概要】 サッカーの練習メニューを共有して最適な練習を探せるサービスとなります。 Github : https://github.com/Taguchi-ivi/bestpra 【使用技術】 バックエンド:Rails(API) フロントエンド:Nuxt(SPA) インフラ: Docker / ECS(Fargate) / Terraform / GitHub Actions 【作成背景】 「指導者のサッカー経験に左右されないで、目的を達成するための練習を共有できる場を作りたい」 ・私は高校生の時に、顧問の先生がサッカー経験者ではなかったので、自分たちで練習メニューを考えていました。 ・自分たちに適した練習メニューかわからずに今までの経験で得た練習をこしていました。 ・結果もう一つ勝てば都大会に出場できるという場面で惜敗してしまいました。 ・とても悔しかったですが、心のどこかで練習メニューのせいにしている自分がいました。 ・そんな私のように考えてしまう人を減らしたい。もっと気軽に練習メニューを共有することができればもっと日本のサッカーレベルは上がるのではないか。そんな気持ちで作成しました。 【工夫した点】 ・バックエンド バックエンドとフロントエンドを完全に分離し、API通信を実装 N+1問題を考慮した実装 リアルなseedデータを作成 Ckeditorから送られてくるデータをsanitize処理しxss対策を実施 ・フロントエンド 完全SPAで作成 学生やコーチなど幅広い年齢層でも使いやすいシンプルで分かりやすいUIを採用 サイレントリフレッシュを使い、認証情報を永続化 vuexを活用し、リアルタイムで画面に反映 ログイン状態によった画面遷移を実施 Ckeditorを使用してリッチテキストを使用 全てのページでレスポンシブデザインを実装 aboutページを作成し、使い方や使ったイメージを想像できるように実装 prettierを利用して、読みやすいコードを意識 ・インフラ Dockerを採用することで複数人でも同じ環境を構築できるように Dockerと相性の良いAWS(ECS Fargate)を採用 Github Actionsを用いてCI/CDパイプラインを構築 terraformによるインフラのコード化