Webサービスを作って潰すのが趣味な人のブログ

とりあえず作ってから怒られよう

【作ってみた】クリエイターのための知識共有サイト「tich(てぃーち)」を3日で作ってみた

f:id:vu2:20160805112105p:plain

自分は甘やかされて伸びるタイプだと信じて25年生きてきたktです。

 

※この記事はブログ移転に伴って再投稿した記事ですm(_ _)m

 

しばらく忙しくてWebサービスを作ってなかったのですが久しぶりに手を出してみました。まずは出来上がったサイトがこちら

tich.jp

 

このサイトはイラストとか音楽とか色々なクリエイターの方がメイキングやハウトゥ、Photoshopの ブラシ配布などが出来るサイトとなっていて、マークダウンもどきで誰でも簡単にそれなりの記事が投稿可能です:D

 

 

……のための知識共有サイト……ん?どこかで聞いたような……

f:id:vu2:20160607055504p:plain

勘の良い方は気付いてしまったかもしれませんがプログラマー御用達のあそこに触発されて作ったサイトです。いつもお世話になっております

 

食事で言えばクックパッドがあるようにクリエイター分野においてもレシピ集(Tips集)があってもいいのではないかというのがつながりました  

 

クリエイターというジャンルの難しさ

ただクローンすればいいのかというと話はそう簡単ではなくて似たサイトを作ったから似たように流行ります!とは行きません。プログラミングとクリエイターには大きな差があってそこを解決する方法は未だに見つかっていません(゜-゜)

 

なぜ初心者もQiitaを使えるのか

  • プログラムは単体の粒度が小さい
  • 1パーツに限って見れば初心者も上級者も(それこそプロも)同じコードが書ける
  • 正解が確実に存在する

これらの点が大きいと思っています。それに対してクリエイター分野は線の引き方1つとっても正解が無限にあります

 

10回welcomeって出すプログラムと10本の線を引くという行動は同じような労力だとしても性質が全く違います。前者は100人とも同じ明確な答えを持っていますが後者はひとりひとり答えが違う上に書いている本人ですら明確なゴールが見えていない可能性が高いのです

 

クリエイターの中での正解を積み重ねよう

じゃあこのサイトは何の役にも立たないの?と言うとそうでもありません。場の提供そものもに意味があると思っていますしクリエイターの中にも正解のあるジャンルがありそれが「知識」の面です

 

例えば便利なサイト集であったり、服の種類であったり、時代ごとの呼び方だったり、そういう「知識」には確実に正解が存在します。と言っても単純に他所のサイトのコピペをすればいいというわけではないのでどのように理解してもらいどのように投稿してもらうかはすごく難しい問題です

 

ユーザーに丸投げでいいのか、こちらがかじを取るべきなのか、最初にコンテンツを要しいて方向性を誘導したほうがいいのかそれとも全て任せたほうがいいのか。色々考えましたがこちらで大きく手を入れるよりも、場があれば使い方はそれぞれが考えてくれると信じあまり手を入れずに公開することにしました

 

タイムスケジュール

想定していた機能

  • ユーザー登録
  • 記事の投稿
  • ユーザーフォロー
  • ユーザーウォッチ
  • フォローユーザーの記事がマイページに表示
  • 記事のPVをグラフで表示
  • 記事へのコメント
  • 記事への画像投稿
  • 記事へのイイね
  • 記事のブックマーク
  • 記事のランキング
  • 記事のタグ、カテゴリ検索

機能はシンプルに絞りつつ「記事を見てもらった」という喜びを最大化するためにどうすればいいのか悩みました。結果として「ランキングの作成」「PVをグラフィカルに表示」「イイねボタンの名称を【ありがとうボタン】にする」などの対応をしましたが正解だったかどうかはまだわかりません

 

6/2 初日

  • ドメインの取得
  • サーバーの設定
  • CDNの設定
  • オブジェクトストレージの設定
  • Redisの設定
  • Railsプロジェクトの作成
  • ユーザー登録機能を作成(Twitter&メールアドレスで登録)
  • 記事投稿
  • 記事にイイね出来るように
  • 記事に画像をアップできるように

全体として環境設定に時間がかかりました。過去に作ったサイトの流用も多いので基本的にはさくさく進みました

 

6/3 二日目

  • 検索周りの作成
  • 設定周りの作成
  • フォローされた時やコメントされた時にメールで通知
  • マイページ(タイムライン)の作成
  • コメント機能の作成
  • フォロー機能の作成
  • ウォッチ機能の作成
  • 記事のランキング機能の作成

この日は朝から晩までやってました。一番つらかったのは記事のランキングまわりの設定。ユーザー個別のデータと記事個別のデータを持ちつつランキングを生成してしばらく蓄えなければならないので色々と大変でした、色々と、、、

 

6/4 三日目

  • ドメインの取得
  • デザインの調整
  • ブックマーク(ストック)機能の作成
  • ウォッチ機能の削除

実は最初はtrouchというサイト名にしようと思ってドメインもとってありました。ただ色々考えた結果「tich(てぃーち)」という響きの良さとドメインのシンプルさが良いのではないか?と浮気してしましました

ウォッチ機能は(相手に気づかれないフォロー機能)でしたが「あえてそこを分離する必要もないかな」と思い直して削除しました

 

 技術的なお話

Ruby on Rails

 

  1. ユーザーが記事を投稿する
  2. Redisにデータを貯める
  3. ランキングやグラフを表示

大変だったのはこのあたりで他は焼き直しです。ここまでがっつりRedisを使ったことがなかったので良い勉強になりました :D

 

今後の発展先

arrow

クリエイターの人達に「勉強会」を広められればと思ってます。プログラマーのみなさんにはお馴染みのあれです

 

人と意見を交換したり情報を共有する場所っていうのはやっぱりとても価値があってそういう活発な活動があればそれに呼応して様々なサービスや便利なアイテムなどが登場して業界全体が賑わうと思います

 

出来るだけ早めに勉強会を企画出来ればいいなーと思っているのでその際は是非よろしくお願いしますm(_ _)m

 

コスト的なお話

このサービスは基本的にコンテンツ投稿がそこまで活発化しないのでキャッシュを活用してユーザーの閲覧ストレスを如何に下げるかがポイントになってくるかと思います

と言っても構成はいつもと変わらず以下の通り

 

Culonのランニングコスト

  • ドメイン 200円/月
  • メインサーバー 1,000円/月
  • Redisサーバー 1,000円/月
  • CDNサーバー 1,000円/月
  • DBサーバー 100円/月 (1台に10サービス載せてます)
  • 容量課金 4.5円/1GB/月

ということで「3,300円+容量課金」となります。この構成でキャッシュを効かせておけば

f:id:vu2:20160805115409p:plain

※tich公開後の最大風速

 

これくらいのPVでもさくさく動くのでしばらくはこれで行けそうです

 

機能面

仕様的な話です

1.マークダウンベースの投稿

f:id:vu2:20160607154953p:plain

ブログもそうなんですが投稿者に対して開放する機能が多ければ多いほど出来上がる記事にばらつきが出ますし投稿時に余計な装飾の面まで意識を回さなければならなくなります

 

そこでシンプルに「見出し、タグ、強調」のみとしました。画像アップロードやクリップボードからの画像貼り付けなどにも対応しているので使い勝手的にはほぼTwitterと同じ感じです

 

タグに関しては別で指定する形じゃなくて本文に埋め込める形にしました。これにより「他人編集不可」となりますし本文中のワードを無理なくタグにしてもらえるのでこの形が楽でいいかなーと

 

余談ですがタグに#を使ったのでヘッダーはマークダウンで基本の「# 見出し」ではなく「@ 見出し」となっています。多少不格好ですし今後ユーザー名を「@user」とやりたなるかもしれませんが他にいい記号がなかったのでこちらに決定

 

2.PVグラフの表示

 f:id:vu2:20160607155324p:plain

こちらも特に目新しいものではありませんが記事ごとのPVグラフを用意しました

投稿毎のグラフも確認できるので見てるだけで割りと楽しいかと思います

 

3.ファイルのアップロードに対応

f:id:vu2:20160607160925p:plain

Photoshopのブラシとか、テクスチャとか、企画のデータとか

 

データを配布したい場面って結構たくさんあると思います。別サイトにアップしてもいいのですがそこはやはり同サイト無いでささっとできると楽ちんですよね

ということで30MBまでのアップロードに対応しています

 

ちょっと記事が長くなりすぎたのであとがきはなし!

 

 

開発系の記事なのでこれも貼っておきます:D

 

 またね~