LoginSignup
8

More than 5 years have passed since last update.

[途中経過]ニュースについて話せる匿名掲示板をrailsで作る

Last updated at Posted at 2017-08-16

作るもの

匿名で知らない人とニュースのことについて気軽に喋りたい。周りの人間や肩書を気にせず。と考えてニュースフィードが流れていてそれについてログイン無しで喋れる掲示板を作ろうと考えた

サービス全体像

ユーザーのニーズ

facebookやtwitterでは基本的にはリアルの人間関係がベースになってしまう。そういうリアルでは全く無関係な人と喋ってみたい、コミュニケーションしてみたいを叶える。なにか媒介が無いと話題に困るので芸能や経済などの記事をベースに喋る。

ユーザーのフロー

  • 検索エンジンで記事ページがヒットする
  • 記事を読み気になったことをコメントする
  • 他の人と会話をする
  • 返信が気になりまたサイトに訪れる。ここで下記をさせないといけない
    • サイト名を覚えさせる
    • ブックマークさせる
    • HOMEに落とさせる
    • SNSをフォローさせる

グロース戦略

初期グロース戦略

初期はSEOを気をつけ、検索経由で新規ユーザーをどれくらい獲得できるかによる。SEOで気をつけたいのは

  • コピーと見なされないようにしたい
  • コメントを活発化させたい(見せたい)

中期〜長期戦略

  • メディアの下にチャットウィジェットとして追加してもらう

仮説検証ポイント

  • 検索流入UU
  • 検索で来たユーザーのコメント率
  • ユーザーの再帰率(これは正確には測れなさそう)

見ていくKPI

技術選択、設計

使う技術

  • rails・・・まあこれの勉強のためなので
  • bootstrap・・・デザインはサクッとしたいので
  • heroku・・・rubyを入れられるサーバで最も簡単そうなので
  • feedjira・・・hatenaのRSS取得
  • nokogiri・・・RSS取得したもののコンテンツをDBに入れておきたい→これなくても部分的に引っ張れそう

やった実装

【rails】kaminariを使ってページネーションを作る

コンテンツの引っ張り方

引っ張る内容

表示速度などのことを考え、DBに記事の情報を少なくとも下記は入れておきたい

  • タイトル
  • 媒体名
  • URL
  • meta_descrition
  • thumnail_url(画像を入れるとDBの容量食いそう)

引っ張り方

  • hatenaのRSSをfeedjiraで引っ張る
  • DBに内容を保存
  • 1日に一回heroku scheduleでrakeを起動させ引っ張る

DBの設計

スクリーンショット 2017-08-18 12.48.17.png

  • user・・・user情報を入れるtable。基本は匿名でログインしない。session_idで判別する。ただサイトに表示するのはsessionをそのまま表示するのは嫌なのでuser_idを生成する。user_idはプライマリーで1から順。session_idとuser_idは1対1。
  • post・・・textでまずは文章のみの投稿。user_idでuserに紐付ける。フィードから自動で引っ張ってきたものは運営のuser_idに紐付ける。OGPから引っ張る。
  • comment・・・postの下にぶら下がっている。これも投稿者が分かるようにuser_idのカラムあり。

機能

  • ユーザーがコメントした際にユーザーを登録・・・commentアクションを作成し、その中に入れる。
    • ブラウザにsession_idを
    • DBにユーザーを格納
  • フィードで記事を毎日引っ張ってくる
    • feedjiraをheroku scheduleで毎日引っ張る
    • DBに記事情報をOGPからひっぱり格納
  • 記事の投稿に対してコメントできる機能
    • 基本は削除できなくていいかなー

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
8