メモ共有サービス『Share Memo』を作りました

f:id:razokulover:20130804131342p:plain

2週間ほど前から作りはじめたメモ共有サービス『Share Memo』のベータ版がやっと完成しました。

Share Memoって何?

Share Memoとは、名前の通りメモを共有するサービスです。
機能はとてもシンプルで、

  • メモを書く
  • 書いたメモのユニークURLを生成(メモの公開範囲はpublicですがURLが現実的に推測不可なので基本的にリンクを知っている人しか見られないです)

の基本的にはこの2つです。
githubを使ったことがある人に説明するならイメージとしてはTwitterfacebookでログインするGistみたいな感じです。
Twitter < Share Memo< Blogという立ち位置を想定しています。

そのほかの機能・トピックとしては、

  • メモのリアルタイムプレビュー
  • Markdownのサポート
  • ctrl+sなどのショートカットキーのサポート
  • レスポンシブ対応

があります。

簡単なdemo videoも作ってみたのでご覧下さい。



作った理由

最近業務時間を使って勉強会にいくことが多くなったのですが、そのたびに必ずメモをとります。
学生のころはテキストエディタにメモしてあとでブログにまとめるという時間が結構あったのですが今はなかなか忙しくてそれも難しくなりました。
しかしながら業務時間で行っているということもあり、社内になんらかの形で共有しないといけないですよね。だけどパワポにまとめるほど大きなトピックはなかった、なんてことよくありますよね。そんなときに、わざわざブログやパワポにまとめるという作業をはぶいて取り急ぎ共有みたいなことができればなーと思ったわけです。
そこで勉強会で取ったメモをそのまま共有すればよいという考えに至りました。
また、AVinterestのように親に堂々と説明できるwebサービスをつくったことがなかったので少しまじめなものでも作るかという動機もありました。

技術的な解説

構成は以下。 言語:PHP,Javascript
フレームワーク:Laravel4
サーバー:EC2,静的ファイルはS3
DB:MySQL5.5,Redis
DNS:Route53
デザイン:Twitter Bootstrap3(フラットデザイン)

上記の通り技術的にはそれほど難しいことをしていないです。簡単なCRUDアプリですし。 ただ唯一特筆するとすればLaravel4を使用したということでしょうか。 Laravel4は最近人気急上昇中のPHPフレームワークですが、 Hirohisa Kawano氏が翻訳しているLaravel関連書籍を読んでいるとどうもなかなか面白そうだということで勉強がてらLaravel4を採用しました。
実際に使用してみた感想としては、

  • Eloquent ORMが便利すぎる
  • IoCとかfacadeとかテストしやすくしてくれる
  • IoCとかfacadeとかわかんなくても正直webアプリはつくれる
  • artisanコマンド!
  • migrate良い
  • Redisが秒速で使える
  • 地味にページネーション作成が楽
  • composerで依存管理するの楽
  • 困ったらpackagistを探すとだいたいライブラリがある
  • Symfony,Codeigniterを使用したことがある人はあまり疑問無く使えそう。
  • Railsでできることはだいたいできる(そんな気がした。scaffoldingもライブラリいれるとできるらしい)
  • routes.phpだけでアプリつくれるのとか、sinatraぽい。
  • 情報多い。(ただし英語に限る)
  • kore1serverなしではやっていけない。


という感じです。
routes.phpでお手軽アプリを作るも良し、MVCで本格的に作るも良しといった万能フレームワークな印象です。

まとめ

今回のアプリはmasuiさんのwri.peに大きく影響を受けています。
面識は無いですがmasuiさんありがとうございました。
というわけで、Share Memoは今後も色々改良していく予定なので何か疑問がありましたら@razokuloverまでご連絡ください。



【Laravel関連で役にたったエントリなどは以下】
http://b.hatena.ne.jp/razokulover/search?q=laravel