個人アプリを作ってみました
個人アプリを制作しました。
キータ記事にも書こうとは思っているのですが、こちらには大変だったところとか、自分の気持ちも載せてしまおうかなと思っています。 こちらはブログなので(笑)
このアプリについてはGitHubのREADMEに記載してますので、ご覧ください github.com まずは個人アプリの紹介を。
アプリ名は
OtaーChat
どんなアプリなのか
- 選んだジャンルの投稿をし、そのジャンルが好きなもの同士でチャットができるアプリ
なんで、このアプリを作ったのか
- 同じレベルのオタク同士が話し合える場が必要と感じたから
突然ですが、私はゲームや漫画が好きです。言わば、オタクです。ですが、ライトなオタクです。
大体がストーリーを好み、一部のキャラにかっこいいなど思う程度です。 このセリフはこの回のこのシーンの一言であるということがわかったりはしません。
さて、このようなセリフがどのシーンかわかってしまうような方をハードなオタクとします。ライトなオタクとハードなオタク、同じジャンルを好んだとして、話が合うでしょうか?勿論、合うことはあります。
ですが、お互いのオタクレベルが違いすぎて、話が合わないこともあるのです。 せっかく、好きなものについて話しているのに、話が楽しくなくなってしまいます。
私自身、友人と同じジャンルの話をしているのに、友人の話が深すぎて話が合わせられず、申し訳ない思いをしたことがあります。
また、オタクのプライドというのも存在し、私の知人には、コミケについて間違った見解を披露した人に対して、ブリザード対応をした人もいます。知ったかぶっているのが許せなかったそうです。ですが、本人は人がアニメを見たことがあると聞いただけで、そのアニメの詳細を喋り続けるタイプで、アニメの話をしたいのだろうと思います。
このように、自分の気まずかった思いや私の周りの人の様子をみて、最初から自分と同じレベルのオタクと話せる環境があれば、私も私の知人も楽しく好きなジャンルについて話ができると思い、このアプリを作成しました。
個人アプリを作成してみて
データベースについて
今回、データベースを最初に考えてから、アプリ作成に臨みましたが、アプリを作成している間に「あれ、このテーブルが必要だな」「このテーブルは必要ないな」と思うことや「このテーブルにはこのカラムが必要だ」と思うこともありました。
アプリを作成するときに大体設計出来ていると思っていましたが、足りないところが多く出てきて、自分の最初の考えがいかに足りなかったか、知ることが出来ました。
データベースの考えも足りませんでしたが、それにプラスして「あ、この機能つけたい」と思って追加機能したこともテーブルが追加された要因でした(笑)gem 'turbolinks'
私はプログラミングスクールで、application.jsでの「//= require turbolinks」を消していた為(古いバージョンでアプリ作成の指示があった)、今回位の個人アプリでもこの記述を消していましたが、それによって、link_toのremoteが作用せずに、いいね機能がなかなかJS化せずに悩まされました。4、5日悩み、とりあえずいいね機能のJS化を保留にして、別機能を追加しているときに、原因に気がつきました。 悩んだら、一度保留はいい手かもしれないと思いました。別機能で、答えがわかることもあるんだなぁとびっくりでした。