誰でもできるオリジナルwebサービスを着実にリリースする手順と考え方

![スクリーンショット 2019-08-16 18.36.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/162167/ab0bb65c-83dd-2913-a3aa-ef73f784b886.png)

夏休みに小さいオリジナルのwebサービスを作ったので、構想からリリースまでに使ったツールなどオリジナルwebサービスをリリースするまでの手順と考え方ご紹介したいと思います:smiley: 

技術的なことにはほぼ言及していません。これから初めてオリジナルのwebサービスを作ろうと思っている方にこんな感じでやってるのねって思ってもらえればうれしいです。

いままで作ったサービスは[こちら](https://medium.com/@taisukeisobe/portfolio-b1cdaa884283)にまとめています（ページからリンクしているそれぞれのサービスのまとめページはgif貼りすぎてめちゃくちゃ重いので開かないの推奨です;;）

##作ったもの
**名前**
しるQ 「自分に気づこう」
https://siruq.site

**コンセプト**
しるQは毎日変わる問いに答えることで本当の自分を発見するサービスです。140文字にまとめてシェアして他の参加者の価値観と比べてみましょう！

**作成期間**
22時間くらい

**なぜ作ったか**

- 最近自己認知とかコーチングに興味があるのでそのテーマで何か作りたかった
- vueとfirebase使ってみたかった
 
**お世話になったサービス**
[Sketch](https://www.sketch.com/)
[Zoho show](https://www.zoho.com/jp/show/)
[hue360](http://hue360.herokuapp.com/)
[adobe color](https://color.adobe.com/ja/create/color-wheel/)
[お名前.com](onamae.com)
[Firebase Realtime Databse](https://firebase.google.com/docs/database/?hl=ja)
[ためしがき](https://tameshigaki.jp/)

それでは以下の順に時系列でご紹介していきます！
1. サービス企画
2. サービスの具体化
3. 実装


## 企画
8/13日(火) 13:00

数ヶ月前からなんとなく以下のような構想が頭の中にありました。

- [cotree](https://as.cotree.jp/)というコーチングのサービス使わせてもらい自己認知って大切だよなーと思ってた
- 数ヶ月前にQTODAYという家入一真さんの出題した質問にTwitterで答えるようなサービス（調べたらクローズしてた）があっていいなーって思ってた。（あまり情報のこってなかったので参考になりそうな[note](https://note.mu/hitoemabuta56/n/n3bde30354d7c)のリンク貼っておきます）
- 同じ感じで自己認知を高めることをテーマにサービス作ってみようかなー
- 最近会社でVueの勉強会やったからVueで何かつくってみたいなー

これだったら夏休み中にフロントだけで実装できるんじゃない？やろう！という流れで作るものが決定しました。

サービスのアイディアとか作りたいものは思いついたら[trello](https://trello.com/)にメモするようにしています。「アイディア」「概念」「面白そうなサービス」になんとなく分けて書いています。（最近はアイディアしか更新してない）
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/162167/e26caf98-897d-1031-386f-a691dff0ffaf.png" width=90%>


## サービスの具体化

以下の手順でやることが多いです。

1. 紙にUIとか機能書いてみる
2. スライドにちょっと綺麗目に詳細書く

### 紙にUIとか機能書いてみる
今回はこんな感じで書いています。上がサービスの名前で下が機能と画面構成です。雑すぎて恥ずかしいw
「done is more than perfect」ってわざわざ紙に書いて自分に言い聞かせてます。これも間違っててただしくは「done is better than perfect」でした笑
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/162167/572f3166-919c-0248-16df-f817fce26098.jpeg" width=90%>

### スライドに綺麗目に書く
[こちら](https://show.zohopublic.com/publish/e38vta6592285921b4cd39c26560dda445171?viewtype=1
)に公開しました。
さすがに上記の雑な構成図で作り始めるのは辛いのと、この段階だと自分の中でもどこまで機能入れるかとか、サービスの目的とか決めきれてないのでスライド作りながら自分の頭の整理をしていきます。

#### 作る目的書いてみたり
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/162167/6f0b13ea-f3f4-5967-f1d3-ddfb63c18ab5.png" width=90%>


#### UIをちょっと綺麗に作ってみたり
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/162167/b5168824-6c00-8aba-46a9-385bccd56922.png" width=90%>

UIデザイナーさんがよく使うらしい[Sketch](https://www.sketch.com/)というイラストレーターみたいなツールも数千円で買っているのですが全然使い方慣れないので、[Zoho show](https://www.zoho.com/jp/show/)(かgoogleのスライドのやつ)を使って作りました。素人なので背伸びせずにこっちの方が早いし楽です。


デザインはサービスのイメージからなんとなく連想して決めています。今回は

- マインドフルネス的な感じ
- 禅？
- 「マインドフルネス」とか「Zen」で画像検索したら青系が多い

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/162167/a5464585-e6af-c687-5c34-b795b2ff2a61.png" width=90%>

- 青だとなんか欧米のマインドフルネス色が強い気がする紫にしたらなんか「禅」感でそう。

というふわっとした思考過程で紫になりました。色は以下のサービスを使って選びました。
[hue360](http://hue360.herokuapp.com/)は既存の色から選ぶだけで楽なのでまず使えそうな色あるか探しています。ここで選んだ色を[adobe color](https://color.adobe.com/ja/create/color-wheel/)のベースカラーにしていい感じの色のセットを使っています。作成途中にカラーコードコピペしたくなるのでスライドも雑に貼り付けます。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/162167/2c99a9c3-f9e9-cd26-26d1-e69735df5c65.png" width=90%>


この段階でテーブルの設計とか、データの処理方法とかも考えますが今回は単純なサービスなのでやっていません。

### サービス名も決めます

サービス名もこの段階でフィクスするようにしています。実装の前にgithubのレポジトリ作成したり、作業ディレクトリ作ったりする際にサービス名使う機会が多いのであとからサービス名変わるとずれて個人的に気持ちわるいです。
名前はコンセプトなどを書き出してそこから語呂合わせで決めました。決めるときは[お名前.com](onamae.com)でドメインが取れることを確認しています。一応ググって同じ名前のサービスがないことを確認しています。
「しるQ」は以下の候補から「自分をしるQ」に決めて、そのあとなんか長いなと思って「しるQ」に短縮しました。

> 自分に気づこう
ちょこっと自己分析
人生の問い
自分Q
自分をしるQ
Tweet自己分析

これで準備完了です！ここまでの作業に3~4時間つかっています。
この時点で早く終わらせないと俺の夏休みが開発だけで終わってしまう！ と若干焦る:fearful:

# 実装
スライド見ながらガシガシ作っていきます。スマホから使うの前提なので`max-width:600px`で作ります。ヘッダー、フッダー、ボディーのCSSとかはだいたいどのサービスも同じような実装なので、理想のサイトを参考にさせてもらいながら作ります。細かい調整は後でするのでそれっぽくなるように作ります。

最初こんな感じで
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/162167/801bb8b9-e3d3-ccee-1d1c-e7da99d0e7e3.png" width=70%>

Twitterのウィジェット埋め込んだりしたら雰囲気でてきました。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/162167/d4263900-fde0-db99-6685-fafb277f276c.png" width=90%>

今回はVueのコンポーネントやルーティングを勉強しながら作ったのでかなり時間かかってしまい、この時点で26時になり作業終了です。今日は13時~26時まで休憩除くと10時間くらい作業しました。


**8/14日**
出かける予定があったので毎日の質問を保存するためのFirebaseの[RealtimeDatabse](https://firebase.google.com/docs/database/?hl=ja)とのつなぎこみだけ実装しました。js側に質問全部保存するのが簡単そうですが、最近バックエンドエンジニア不要論で話題のFirebaseとかRealtime Databse使ってみたかったので連携させました。初NoSQLでした。

作業は3時間くらい

**8/15日**
しるQは投稿機能もユーザー登録機能も実装せずに、Twitterにおんぶに抱っこのサービスなので、どのようにTwitterに投稿して貰うか考えました。Twitterでシェアされた時に以下のようなOGPが出て毎日変わる質問を表示させたかったのですが、SPAだとプリレンダリングしないと実現できないことに気づきしかたなく実装しました。ここは結構詰まってしまって4時間くらい消費しました。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/162167/dbca24d8-d2a1-636e-7c2a-f96f56df194b.png" width=90%>

ところが...実装終わってテストしていると、PCの画面サイズだとOGPに質問文全部表示されていい感じなのですが、スマホでみると説明文カットされてました:upside_down: 

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/162167/69316359-c18c-c31e-b3e3-dd20ea048c99.png" width=90%>
スマホからの使用を想定しているのでこれでは意味がない...プリレンダリング無駄に実装してしまいました...たしかにQTODAYは質問ハッシュタグでつけてるんですよね...確認していなかった。大幅な時間ロスです。夏休み...
プリレンダリングでOGPに質問出すのはやめて、普通にハッシュタグに質問出すことにしました。

機能は大枠完成してきたので細かい所の調整をします。
ファビコン作ったり、ロゴを作ったり、サービス用のツイッターアカウント整えたりしました。
ロゴは一応Sketchで作りましたが特に難しいことはしておらず、"Hiragino Mincho Pro"という書体で文字書いて出力しただけです。Sketchの必要はもはやないです。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/162167/64fd15c2-1a4b-3840-41cf-ecc5104266b8.png" width=90%>

フォントは[ためしがき](https://tameshigaki.jp/)を利用させていただき雰囲気がでるフォントを探しました。今回は[いろはまる](http://modi.jpn.org/font_irohamaru.php)を使用しています。最終的にはこんな感じに落ち着きました。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/162167/bf07b4b5-47cb-defa-bcac-62d360701886.png" width=90%>
最初と比べると多少垢抜けましたかね...?
お気づきの方はいないかと思うのですが、この時点で最初にスライドで決めたカラーコードはガン無視していますw:joy: 
クロームの開発者ツールでいい感じになるまで色をぐりぐり変えて調整しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/162167/46860ed4-67e0-95e7-ac92-e2d77e4aa5ed.png)

作業は5時間くらい


**8/16日**
最終日はドメインを取得して設定したり、Firebaseに１ヶ月分の質問を登録したりしました。
siruq.netも取れたし「.net」の方がかっこいい気がするのですが千円くらいするんですよね。siruq.siteは60円だったので安さに負けました。作業は4時間くらい。以上で完成です！！

#まとめ
１日でサクッとつくってやるぜ！とか思ってたんですが夏休みの 1/2くらいを吸い取られた開発となりました。随所で手を抜いたのですが（コードはひどいのでのせていない）それでも一つの形にするのは大変ですよね。個人開発は使える時間も限られてることが多いので、いかに最小限の機能で手を抜きつつそれなりの形にするためにライブラリとかツールを活用するの大切だなぁと思いました。