できるだけ早く、無料でwebサービスを開発するまで
無料でwebサービスを作り、公開するまでの流れを紹介したいと思います。
今回BookStackerhttp://www.book-stacker.comというサービスを作ったので、その際の開発の流れを紹介します。
以下の流れで開発を行いました。
- タスクを洗い出す(3h)
- 仕様を書き出す(3h)
- 開発をする(4day)
- リリースする(3h)
- 運用する(...)
合計で一週間ぐらいです。
タスクを洗い出す
タスクには以下の3つ書き出しました。
- やらなければならないこと
- やったほうがよいこと
- やらなくてもよいこと
それぞれについて解説します。
やらなければならないこと
これは作ろうとしているサービスの必須機能です。
「これを作れば公開できる」といったものです。
BookStackerなら以下の項目です。(一部抜粋)
- 本の一覧を表示する
- 本の情報をDBに保存する
やったほうがよいこと
必須ではないけど、やっておくと何かとメリットがあるものです。
- レスポンシブデザイン
- ドメイン登録
- グーグルアナリティクス
やらなくてもよいこと
やってもいいけど、やらなくてもいいといった少し迷う定義です。
- リファクタリング
- 画面レイアウト調整
- SPA化
仕様を書き出す
タスクができたら今度は仕様を書き出しました。
仕様を書く際はエクセルやスプレッドシートなどを使って作成することもあると思います。
これはおすすめしません。必要なのは文字であって、表ではないからです。
というわけで、マークダウンで書きました。
タスク管理なら、こんな感じです。
# タスク管理 ## /task/create タスクを登録する method: post params: title: type: str valid: required: true body: type: str valid: required: false max length: 2000
viewの仕様も、apiの仕様もこのように書くことができ、またgitで管理できるので表計算ソフトより効率が良いです。
画面のレイアウトは紙に書いて、壁に貼り付けました。開発が終わったら取ってファイリングします。
開発をする
タスクを出して、仕様を書き出したらいよいよ開発です。
開発に使う言語は何でも良いです。作れればなんでも良いのです。一番慣れている言語が一番はやく開発できるでしょう。
BookStackerではpythonを使って開発をしました。
無料で運用することを決めているので、herokuの無料枠を使いました。
herokuの無料枠ではmysqlよりもpostgresqlのほうがデータが入るので、postgresqlを使用しました。
(ClearDB MySQLのfreeプランの場合は5MBまでしかデータが入りません。それに対して、postgresqlなら10000行データが入ります。)
できる限りテーブル数を削減すればかなりのデータが入ることでしょう。
実装する順番について
「やらなければならない」タスクから取り掛かります。
そして、それが終わったらherokuにデプロイします。
「やったほうがよいこと」「やらなくてもよいこと」については運用しつつ開発するのが良いでしょう。
リリースする
git push heroku master
!
以上が開発の流れです。
これから残りの機能を実装しつつ、運用したいと考えています。
注意
herokuの無料プランを使うと、無料でサービスを公開できます。
ですが、無料枠から離れた場合結構お金がかかります。
最低で7ドル(120円*7=840円)ぐらいです。
また、postgresも入れると+9ドル(120円*9=1080円)です。
合計しておよそ2000円です。
これならvps借りて運用したほうがまだ安いです。