初めてのRailsオリジナルプロダクトでLINEを作ったらめっちゃ為になった
今回、初めてRailsを使ってオリジナルのプロダクトを作ってみたのですが、めちゃくちゃ為になったのでメモ程度に雑感を書いていきます。
プロダクトの内容としては、Rails5の新機能であるAction Cableを用いて一対一のダイレクトメッセージチャットアプリを作成しました。
きっかけ
Progate、Railsチュートリアルを終わらせてそろそろ実務経験を積みたいなーと思って某企業のサマーインターンに応募したところ、「1週間でLINEを作ってきてください」っていう無茶振りな選考課題を出されたことです。ちなみに、あとで気づいたのですが20卒向けのインターンでした笑(自分は休学するので恐らく22卒)
使った言語、技術など
言語はRails5とActionCableの所で一部jQueryを使いました。
主に実装した機能は、Deviseでのメール認証ユーザー登録機能とActionCableでのチャット機能です。後者はRails5の目玉機能らしいです。
できたやつ
スマホだと見辛いですがこんなのできました。初めてかつ作業時間限られてた割に満足
工程としてはこんな感じです
1日目:Actioncableでチャット機能実装
2日目、3日目:Deviseでユーザー登録機能実装(メール認証のみ)
4日目:用事があり何もせず
5日目:CSS実装でちょっとLINEっぽくする
6日目、7日目:Herokuにデプロイしようと苦戦する(結局できない)→提出
やってみてどうだったか
今回の作業を通してユーザー登録機能とダイレクトメッセージ機能の実装を実践的に学べたのですが、これ大抵のアプリには必要だと思うのですごく勉強になりました。また、DB設計も、Progateなどのuser,message(post)に加えて新しくroomテーブルを加える必要があったので、程よく発展的でbelongs_toやhas_manyと絡めつついい感じに学べました。HTML & CSS復習しつつSassとSlim勉強できたのも良かった。
とりあえずまとめると、
①結局独自のプロダクト作るのが一番力がつく
②ある程度基礎は勉強したけど作りたいプロダクトがないよ〜って人はとりあえずLINE作ってみるのオススメ
反省点は、上の工程の通りHerokuへのデプロイに一番時間費やしたのに結局うまくいかなかったことです。原因としては、時間が限られていてテストを書かなかったというのもありますが、基本ローカル環境で試して全て出来上がってからデプロイしたためどこでエラー起こしているか見当がつかなかったのが大きい気がします。Railsチュートリアルのように、デプロイは開発と同時進行でこまめにすべきだなーと感じました。
最後に
参考文献です。すごく良くまとまっているので、これらを見つつ適宜ググってオリジナルの機能を追加していけばある程度のクオリティのチャットアプリはできると思います。やっぱりRailsは日本語の情報が豊富で初学者に優しいのが良き。
というわけで、インターン先の選考課題やってみてすごく勉強になったよって記事でした。
採用されるかはこれを見ながらの面接で決まるらしいので頑張ります!
それでは〜!