#はじめに
Rails tutorialを進めながら、なんとなく欲しい物が決まってきたので、
チュートリアルを進めつつオリジナルに手を加えて作っていきました。
作っている時に公式アプリの告知があり、このアプリが完全に不要になることが確定しましたが、勉強のために完成させることに。
結局、8月初旬に公式アプリが公開され当サイトは閉鎖しました。1ヶ月弱の命でした。
今回は供養のための備忘録です。
内容的には「tutorialからの魔改造でこんな物も作れる」という感じです。
#要件定義
と言えるような大層なものではないが、どんなことがしたいか書き出す。
・登録制
・匿名(ゲーム内キャラ名等)でスケジュール管理
・特定多数の人と共有
・スマホでもそれなりに使える
・ぱっと見で参加・不参加がわかる
##細かく考える
###登録
Rails tutorialをほぼそのまま流用する。
項目を変える程度。
メールアドレスの実在確認はしないが、重複はさせない。
ログイン機能も流用できるので、devise等のGemも使わない。
###特定多数での共有
個人でグループを作成できるように。
作成時にグループ加入用パスワードを設定させて、知っている人だけが入れる。
###スマホ対応
これもtutorialと同様、bootstrapにお願いする。
###ぱっと見でわかる
カレンダーをつける。
匿名性を優先したいのでGoogleカレンダーは使わない。
詳しい実装は別記事で紹介
###その他のスケジュール確認方法
個人用ページの上部に一覧で表示させる。
1人が複数のグループに所属することも可能なので、グループ毎のタブ表示にした。
ALLタブでは自分の投稿した予定の一覧を出し、各グループのタブではメンバーが投稿した予定の一覧を表示。
###マイページ
登録時に入力したキャラクターIDを用いて、公式サイトからスクレイピングで自キャラ画像とジョブLvを取得し表示。
PCでは全身画像、スマホでは顔画像での表示になる。
反省点として、アクセス毎の取得のため相手サーバーに負荷がかかる可能性があること。
考えられる改善方法として、画像は登録時のアップロードやスクレイピングで固定させ、ジョブLvはタイムスタンプなどで一定の間を設ける。
###その他機能
グループの検索はIDか名前
グループ掲示板(これは他の教本で作った物を流用)
#ソース
初Railsで作った物なので粗いとこしかありませんが参考までに。
https://github.com/arekore/rails.git