Django製フリマサイト「ホクマ」ができるまで part4
「ホクマができるまで」シリーズについて
シリーズの目次はこちらにあります。今回は第4回です。
この度「ホクマ」という北大生限定フリマWebサービスを作りました。(GitHub)
その作り方について大雑把に解説していくことで、(基本個人)学生によるWebサービス開発の流れを説明していきたいと思います。
(ただし、ビジネス的な観点はあまり考えて作っていません。 収益化の方法などは書いていかない予定なので気をつけてください。 )
使った技術
サービス開発の流れ(簡単に)
- 1 前提知識
- 2 Djangoを始めた(Django Girls Tutorial)
- 3 いろんなDjangoサイトを適当に作った
- 4 「ホクマ」を作り始める
- 4.1 開発初期にやったこと(今回!)
- 4.2 「ホクマ」の機能構成・技術の話
- 4.3 「ホクマ」でつかったDjangoパターンとサイトデザインについて
- 5 開発を続けていくために
- 6 開発ツールについて
今回は「4.「ホクマ」を作り始める」について書いていきます。
4.「ホクマ」を作り始める
先に、「ホクマ」のレポジトリを挙げておきます。
コミットを見ると、初コミットは3月11日からでした。公式にリリースしたのは10月1日だったので、大体リリースまで7か月かかったことになりますね。
Commits · HUITCLUB/hokudai_furima · GitHub
しかし、実際の構想は2月中旬から始めていました。今回は、その構想段階からのお話をしていこうと思います。
4.1 「ホクマ」の構想を練り始める(コードを書く前)
コードを書く前に、まず「ホクマを作ろう!」と思い至った経緯から順に話していきます。
ちなみに、「ホクマ」は北大生限定のフリマWebサービスです。
4.1.1 「ホクマ」を作った経緯
ホクマを作ろうと思い立ったのは、以下のような理由からでした。
- 「何かDjangoで自分の代表作を作りたい」
- 「北大生で、教科書を古本屋で買う人は多いが逆に売ると安くなってしまうので、高く売れるフリマサイトを作ればいけるのではないか」
- 「北大生のためのサービスなら、使ってくれる人がいるだろう」(ユーザ数をある程度見込める)
- 「サークルの後輩のロールモデルになりたい」
特に、何かWeb開発で何か自分の代表作を作らないと大学生活終われないと思ったのが大きいです。
正直今も昔もそこまでフリマにこだわってはいないのですが、ちょうど良いくらいの題材だったように思っています。
4.1.2 構想を固める
さて、作るもののコンセプトが決まったら、具体的にどんなものを作るのかを考えるフェーズに入ります。まずは、以下のように簡単に、必須なことだけを列挙しました。
- 何を作るのか・どういう要素や機能があるか
- 例: 出品・購入・アカウント登録・チャット
- どうやって作るのか(どういう技術を使うのか)
- 例: Django, Postgres, Nginx, Webサーバを立てて公開する方法
- それは作れるか?
- 決済はちょっときつそうー>手渡しでいいんじゃね?ー>待ち合わせしやすいようにチャット機能を強化しよう
特に、「それは作れるか?」の検討は重要です。とりあえず必須要素が作れるかは考えておかないと、後から無理そうだということになったときにきついです。
極端な例になりますが、「アニメ配信サービス」みたいなのを作ろうとしても、「配信するアニメデータ」は必須ですが、なかなか手に入らないと思います。これを考えずに配信サービスだけつくっても結局意味のないものになってしまいます。
4.1.3 とりあえずユーザー操作の流れに沿って作ってみる
次は、実際にユーザーが操作する流れに沿って作り始めてみました。とりあえず、ここでは細かいデザイン等は後回しで考えた方がいいと思います。コードも汚くなってしまいやすいので。
「ホクマ」の場合、以下の順番に開発していきました。
- アカウント登録機能
- 商品の出品・購入 1; 商品の検索
- チャット
- 細かいデザインや利用しやすい細かい気遣い
最初の段階では、開発に時間がかかるかもしれません。初期段階では時間をかけすぎないように、とりあえずシンプルに作ることが良いです。
CRUDができる簡単なものを最初は作れればOKです。
複雑な機能は後にした方がコードがシンプルになって読みやすく修正・拡張しやすいので、後々にも嬉しいです。
ユーザーが操作する流れに沿って作っていくことは割とモチベーションの維持につながります。まずは簡単な機能の積み重ねで一連の流れを作るだけでも、サービスの完成に近づいてくる実感を感じられるので、どんどんやる気が湧いてきます!
4.1.4 といっても、どうやってかけばわからないんですけど
これは僕もとても困りました。イメージとしては思いつくのですが、実際Djangoでどうやって書くのがベストなのか、安全なのかが全くわかりませんでした。
そういうときは、似たサービスをgithubやweb上からで探してみましょう。正直探すだけで1週間くらい使ったと思います。
「ホクマ」の場合、以下を参考にしました。
まとめ:「ホクマ」を作り始める
- どんなものを作るかなんとなく決める
- 具体的にどんなものを作るのかを考える・必須なことの列挙
- ユーザーが操作する一連の流れをシンプルに作る
- githubやweb上にある似たようなサービスを参考にしよう
次回
次回は、どうしようか未定です。Djangoの詳しい話や技術構成についての話に入っていこうと思います
ついで: 僕のプログラミング歴について
以下の過去投稿にあります