未来永劫

メリーバッドエンドが好きです.

【Slack+Githubによるissue駆動開発】バックエンドが一行で書けるMilkcocoaを使って落し物共有サービスを作った話

表題のとおりです. github.com
github.com
github.com

この3人を中心に落し物共有サービスを作ってました.
期間はゆるりと週末開発で1ヶ月くらいです.

作った.

LMP -落し物をシェアし合えるサービス-
正式名称は「Searching Lost Property with Milk」です,ちょっと長いですね.
(いまXSS対策してないから各位いじめないで)

なにこれ

落し物を共有し合えるサービスです.
こんな特徴を持ったサービスです.

  • 落し物を共有する.
  • 落し物情報を検索する.
  • ユーザの落し物登録に応じて階級がアップする.

(一番下はまだ未実装です.)
まだβ版なので,データのストアが出来て,ストアしたデータを閲覧出来るくらいですが.
テストデータとかも普通に残っているので,本運用する場合はデータ整理してちゃんと運用しないといけませんね.

どんな風に作ったの?

基本的にはjsゴリゴリです.
デザインはHonokaという日本語も美しく表示できるBootstrapテーマを使いました.honokak.osaka

フロントエンドは自分達でやりましたが,バックエンドはmilkcocoaというサービスを活用しました.
コンセプトは新しいサービスから新しいサービスを!
(既に競合サービスがあったのは後に知った.)

What's Milkcocoa?

簡単な話,バックエンドを1行でやってくれるサービスです.

<script src="https://cdn.mlkcca.com/v2.0.0/milkcocoa.js"></script>

こんな感じで一行書くだけで簡単に利用を始める事ができます.

mlkcca.com

こちらが公式ページです.
簡単な会員登録をしたらすぐに利用を始める事ができます.
チュートリアルに「10分で自作チャットアプリを作る」なんてものもあります.

使ってみてどうだった?

データの容量やセッション数などの制限はありますが,簡単にバックエンドを実装できるほどの強みは無いと思います.
特に,バックエンドを知らなくても殆ど自力で書く事が出来るのは強みだと思っています.
また,日本人のエンジニアの方が始めたサービスなので,ドキュメントが日本語である点や,teratail.com
このteratailと連携して開発者さんが自らmilkcocoaに関する質問の回答をしているのも利用者にとってはありがたいかもしれませんね.

もっとMilkcocoa

Milkcocoaがどれだけ凄いかはこちらでわかります.qiita.com
ちなみにこちらではMilkcocoaを活用した事例がGitHubで公開されています.github.com
Advent Calendarはこちらqiita.com

どうやって開発したの

Slack + GItHubによるissue駆動開発をしました.
分かりやすいのは以下の記事ですね.qiita.com

私達は週に1,2回会って話せる程度なので,基本的には各自個別の作業が中心です.
チャットをSlackで,開発はGitHubでForkしてPR&Merge形式で機能追加を行っていきました.

Slackの良い所は3つあります.

  • チームで共通のルーム名とpassで部屋が作れるところ
  • 真面目な話はここ,雑談はここ といった感じで話の内容ごとにチャンネルを複数自由に作れるところ
  • GitHubと連携が出来るので,誰かがcommitをすればすぐに反映されるので各自の開発状況が分かりやすいところ

大きく分けてこんなかんじです.
私達の場合はGithub通知用のチャンネルを作って,そちらに逐一自動でcommitやPR情報が表示出来るようにしてました.
ページはこちらを参考にしました,qiita.com

また,各自個別で作業をするわけですが,その中で「あれが実現できない」「何故かバグった」などなど,色々な問題が発生しますよね.
そういった時に,GitHubのissueを活用することによって問題を自分の中に留めずに共有するということを意識しました.
例えばこんな感じですね.
milkccaにデータを送る際に正しくデータをストア出来ない件 · Issue #20 · shopetan/LPM · GitHub

進捗状況や,問題発生などを積極的に公開していくことで,自分一人で悩まずに効率的に開発が進められました.
自分は助けを求められるし,他の開発者は問題共有やコードレビューを自然に行えるのでオススメだと思います.

まとめ

LMP -落し物をシェアし合えるサービス-
を作った!

Milkcocoaつよい!

Slack+Githubによるissue駆動開発最高!

OSSとしてコードを公開しているので,協力してくれる方がいたら是非一緒にLPMを作りましょう!
github.com