LoginSignup
7
7

More than 3 years have passed since last update.

Railsで釣り大会サイトを作ってみた!

Last updated at Posted at 2021-02-09

 アプリの概要

ezgif.com-gif-maker (7).gif

自分から大会を作成したり、気楽に釣り大会へ参加ができるアプリを作ってみました。
時間と場所に縛られない自由な大会がコンセプトです。

制作した背景

1. 時間が限られた人でも気軽に参加できる大会で釣果を共有したい
2. 自分発信で大会を開催できるサイトが無い

1. 時間が限られた人でも気軽に参加できる大会で釣果を共有したい

友人との会話の中で、釣り大会に出たいけど「今の時期、大勢の人が集まる場所はちょっと..」「大会って敷居が高そう」 「タイミングが合わない」「育児や仕事の都合で日中に釣りができない」と話していました。
釣りする時間帯に制限のある方にもマッチしやすい大会が作れたら楽しそうだな!!と考えました。

2. 自分発信で大会を開催できるサイトが無い

自分の生活リズムでも参加できそうな大会を探してみた時に、開催地が遠い、時間が合わない、釣りたい魚とは違うなどの理由から探すのに苦労しました。
「参加型の大会サイトはあっても自分で開催までできれば便利なのでは?」と考え、WEB上で”開催〜ルールに基づいた順位発表”まで完結できるサイトを作ってみよう!と思い制作に至りました。

機能説明

機能 使用技術
1 ログイン機能 devise
2 ゲストログイン機能
3 ユーザー登録
4 大会の投稿機能(CRUD)
5 管理者機能 Active Admin
6 画像アップロード機能 CarrierWave
7 画像のメタデータを取得 EXIFR
8 コメント投稿・削除(Ajax)
9 いいね機能(Ajax)
10 ページネーション機能 kaminari
11 地図表示機能(google map API) geocoder
12 ランキング機能(ルールによって表示の変化・同率順位で処理)
13 大会一覧のタブ切り替え JQuery
14 釣果の投稿機能(CRUD)
15 マイページ機能
16 大会エントリー機能(多対多のアソシエーション)
17 魚種検索機能
18 PV数の計測 impressionist

直感的な操作ができるように意識

大会作成においては必要情報が多くなりがちだったので、文字入力ではなく可能な限りボタンでの選択とすることで、サクサク大会作成ができる様に意識しました。
angler-app herokuapp com_gps_checks_new

ランキング表示を変える

ランキングの順位表示はルールによって処理内容が変わります。
どのデータが必要でどのように集計するかを分け、ランキング順位の処理**をするようにしました。
angler-app herokuapp com_gps_checks_new (1)

画像のGPSチェック機能

「自分の画像に位置情報が有るのか無いのか分からない..」というテストユーザー(友人)の指摘から、 投稿画面とは別で、画像のGPSチェックができるように機能を追加しました。
スクリーンショット 2021-02-09 17 02 45

GoogleMap内で円表示

知られたくない釣り場の”ピンポイント”が分からないようにGoogleMap内のピン(📍)表示をCSSで円を作成して表示Something went wrong
させるように変更しました。
スクリーンショット 2021-02-09 16.57.08.png

ER図

スクリーンショット 2021-02-09 23 02 41

課題・今後実装したい機能

・個人釣果データを集計&分析できるようにグラフ化
・釣果投稿にAPIを使用して天候を付け加える
・ルール違反発見時の報告機能と対策機能
・AWSへデプロイ

使用技術・環境

言語:Ruby 2.6.6
フレームワーク:Rails 6.0.3.2
フロント:HTML, Sass, javascript, jQuery
インフラ:Heroku 
データベース:PostgreSQL 13.0
AWS S3を使用

7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7