はじめに
この記事は前回の続きとなります。
前回の記事を見ていない方はぜひそちらをご覧ください。
使用するGem
今回現段階で使用するgemをこちらにまとめていきます
・devise
→adminとuserそれぞれのログインのために使用
・rails-i18n
→エラーメッセージなどの日本語化をするために使用
・refile-mini_magick
→activestorageで画像投稿の機能を実装するために使用
・jquery-rails
→非同期通信を行うために使用
アプリケーション詳細設計(User)
今回はadminとuserの二つに役割が分かれているため、userに関する機能はpublicというフォルダでやっていきます。
まずtopページはhomesコントローラを使用して、投稿一覧や、最近のタグなどを表示できるように設計しています。下のregistrationsとsessionsはそれぞれdeviseによって作られる部分となっています。
そして、usersコントローラの部分ですが、showページでは普通は:idを入手しますが、今回はtwitterっぽくアカウントidを取得するような設計にしてみました。
そのほかに触れる部分はtweet_commentsとfavoritesとrelationshipsの部分ですね。この三つはそれぞれtweetにネストさせる設計にしています。
アプリケーション詳細設計(Admin)
次にadminなのですが、userに比べてこのアプリケーションでadminが何をできればいいのかが煮詰まっておらず、ほとんど機能を作っていません。今のところはとりあえず悪質なユーザーをbanするという機能を考えています。ここに関しては思いつき次第どんどん追加しようと考えております。
終わり
今回は使用するGemの選定とそれぞれ機能と画面のurlとメソッドの方を考えてみました。
まだまだ足りないものはあると思いますので、思いつき次第随時追加しようと考えております。
次回からはいよいよ実装に取り掛かります。最後まで見ていただきありがとうございました。それではまた次の記事でお会いしましょう!