utamaro’s blog

誰かの役に立つ情報を発信するブログ

できるだけ早く、無料でwebサービスを開発するまで

無料でwebサービスを作り、公開するまでの流れを紹介したいと思います。

今回BookStackerhttp://www.book-stacker.comというサービスを作ったので、その際の開発の流れを紹介します。

以下の流れで開発を行いました。

  1. タスクを洗い出す(3h)
  2. 仕様を書き出す(3h)
  3. 開発をする(4day)
  4. リリースする(3h)
  5. 運用する(...)

合計で一週間ぐらいです。

タスクを洗い出す

タスクには以下の3つ書き出しました。

  1. やらなければならないこと
  2. やったほうがよいこと
  3. やらなくてもよいこと

それぞれについて解説します。

やらなければならないこと

これは作ろうとしているサービスの必須機能です。

「これを作れば公開できる」といったものです。

BookStackerなら以下の項目です。(一部抜粋)

  • 本の一覧を表示する
  • 本の情報をDBに保存する

やったほうがよいこと

必須ではないけど、やっておくと何かとメリットがあるものです。

  • レスポンシブデザイン
  • ドメイン登録
  • グーグルアナリティクス

やらなくてもよいこと

やってもいいけど、やらなくてもいいといった少し迷う定義です。

仕様を書き出す

タスクができたら今度は仕様を書き出しました。

仕様を書く際はエクセルやスプレッドシートなどを使って作成することもあると思います。

これはおすすめしません。必要なのは文字であって、表ではないからです。

というわけで、マークダウンで書きました。

タスク管理なら、こんな感じです。

# タスク管理

## /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を使って開発をしました。

またフレームワークDjangoを使いました。

無料で運用することを決めているので、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借りて運用したほうがまだ安いです。