search
LoginSignup
4

More than 5 years have passed since last update.

posted at

updated at

245cloud.comにMilkcocoaを入れてみた

245cloudとは

24分間だけ仕事して5分間だけ他の人と交換日記をするサービスです。
http://245cloud.com

「ポモドーロテクニック」という仕事術があるのですが
それをみんなでできるサービスです。

もともとは自分の会社がコンテンツ版GitHubみたいなサービス
「ラフノート」 https://ruffnote.com/
を開発していて

https://ruffnote.com/pandeiro245/245cloud/13475
みたいな感じでコンテンツ管理できます。っていう
デモをするために作ったのですが
http://attrip.jp/138267/
で取り上げてもらったりして
1日10時間やってくれる人が出てきたりして
幸せです。

245cloudの実装

parse.comやPubNubなどを使っていてサーバ側の実装はこれだけ。
https://github.com/pandeiro245/245cloud/blob/master/app.js

あとはクライアントJSのみで開発しています。
これでfacebookログインまで対応しているのですが
parse.comはfacebookに買収されているせいなのか、
Twitterログインができないのです...。
そういう意味でもMilkcocoaには超期待しています!
(それができたら全部Milkcocoaでできちゃうな!)

参考記事:http://thebridge.jp/2014/10/milkcocoa

とりあえず入れてみた

こちら、下記のコードを自分の作業しているHTMLに貼り付けておくと
245cloud.comで集中するボタンを押したらその貼り付けられたページを
持つブラウザタブが強制的に開くという仕組みです。
(ちなみにchromeやsafariはJSのalertがそういう強制力あるけど
Firefoxはそうならないらしい)

<script src="//cdn.mlkcca.com/v0.2.8/milkcocoa.js"></script>
<script>
  var userId = '#{user.id}';
  var milkcocoa = new MilkCocoa("https://io-ui2n0gy4p.mlkcca.com:443");
  var spartaDataStore = milkcocoa.dataStore("sparta");
  spartaDataStore.on("push",function(data){
  if(data.value.userId == userId) {
    alert('24分間頑張ってください!');
  }
});
</script> 

本体側はだれかが誰かが集中するボタンを押したら
押した人のuserIdをMilkcocoaに送っています。
で、貼り付けられた側はuserIdが自分だったらalertを出すという仕組み。

これ自体はちゃんと動いたのですが
PubNubが動かなくなったのでPubNub部分までMilkcocoa化することに。

PubNubで実装していたチャット部分もMilkcocoa化

https://github.com/pandeiro245/245cloud/pull/36/files
これだけの差分で動きました!

PubNubにおけるsendはMilkcocoaではpushなのと
送る時のパラメータの中でidは予約語だったので取り急ぎid2としました。
(後でリファクタリングする予定)

タイミング見て本番反映予定

今本番反映するとPubNubバージョンで使っている人がチャットできなくなってしまうので
誰もいなくなったタイミングで

$ git push heroku pubnub-to-mlkcca:master

して本番反映予定。

本番反映後、
よろしければ使ってみてバグ報告等頂けると幸いですw

そして、前述しましたが
クライアントJSだけでのTwitterログイン対応、何卒よろしくお願いします!

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
What you can do with signing up
4