ひとりでWebサービス開発RTAをして、2日間でサービスをリリースした話　〜ツイッター向け画像ジェネレーターを作った〜

こんにちわ。れとるときゃりー([@retoruto_carry](https://twitter.com/retoruto_carry))です。

[新幹線の移動時間でサービスを作ってリリース](https://qiita.com/numanomanu/items/2140da0dcb3cb32903fc)みたいな記事がQiitaでバズっていたので、自分も勝手にひとりでWebサービス開発RTAをやってみました。

※RTAとはリアルタイムアタックの略です。ゲームスタートからクリアまでの時間の短さを競うことを意味します。

ツイッターで実況しつつやりました。

<blockquote class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr">今からくっそ簡単なアプリをつくるRTAやります！！<br><br>タグはこれで！<a href="https://twitter.com/hashtag/web%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E9%96%8B%E7%99%BARTA?src=hash&amp;ref_src=twsrc%5Etfw">#webサービス開発RTA</a></p>&mdash; れとるときゃりー🧡 サービス開発で生きていきたい DM開放してます (@retoruto_carry) <a href="https://twitter.com/retoruto_carry/status/1067029966737428480?ref_src=twsrc%5Etfw">2018年11月26日</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


#作ったサービス

[「#いいねvsRT」画像メーカー](https://retoruto-carry.github.io/RTvsFavMaker)

<blockquote class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr">こういう画像を簡単に作れるサービスを作りました!！！<br><br>簡単にいいねとRTでせんそうを生み出す画像を作れるサービスです<br><br>いいねやRTしてくださると嬉しいです！😊🙏<a href="https://t.co/iy4Mh1hqVm">https://t.co/iy4Mh1hqVm</a> <a href="https://t.co/EHsyC3c6Ek">pic.twitter.com/EHsyC3c6Ek</a></p>&mdash; れとるときゃりー🧡 サービス開発で生きていきたい DM開放してます (@retoruto_carry) <a href="https://twitter.com/retoruto_carry/status/1067507369553256448?ref_src=twsrc%5Etfw">2018年11月27日</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

![screencapture-retoruto-carry-github-io-RTvsFavMaker-2018-11-28-08_06_24.png](https://qiita-image-store.s3.amazonaws.com/0/156690/f2ad379c-3fca-7b86-4854-6ba1253341f3.png)


![ezgif-5-50a8f5f4b6b3.gif](https://qiita-image-store.s3.amazonaws.com/0/156690/e9c06bbe-0828-0db0-ebcc-6659d8791027.gif)


ぜひ、みなさん使って遊んでみてください！！！
[「#いいねvsRT」画像メーカー](https://retoruto-carry.github.io/RTvsFavMaker)

#使った技術

- [canvas](http://www.html5.jp/canvas/)
    - ブラウザ上に図を描くために策定された仕様
    - これを使って画像を合成する
- javascript
    - 画像をfile inputから受け取る
    - canvasを操作する
        - 画像を描画する
        - ダウンロードリンクを生成する
- [bootstrap4](https://getbootstrap.com/)
    - cssフレームワーク
    - cssを書かずに良さげなデザインにできるやつ
- [GithubPages](https://pages.github.com/)
    - GitHubで管理している静的サイトをホスティングできる
    - 無料&簡単！

コードは[ここ](https://github.com/retoruto-carry/RTvsFavMaker)に置いてます

#何をしたか

##1日目

<blockquote class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr">今からくっそ簡単なアプリをつくるRTAやります！！<br><br>タグはこれで！<a href="https://twitter.com/hashtag/web%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E9%96%8B%E7%99%BARTA?src=hash&amp;ref_src=twsrc%5Etfw">#webサービス開発RTA</a></p>&mdash; れとるときゃりー🧡 サービス開発で生きていきたい DM開放してます (@retoruto_carry) <a href="https://twitter.com/retoruto_carry/status/1067029966737428480?ref_src=twsrc%5Etfw">2018年11月26日</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>



###最初は紙の上で、どんな画面にするのかを考えました

ここで欲張ってたくさん機能を詰め込みすぎないのが、webサービス開発RTAにおいてはかなり重要です。

<img src="https://qiita-image-store.s3.amazonaws.com/0/156690/f13a746e-0927-0e17-464f-0c9edfae42cb.jpeg" width=50%>

###次にプロトタイプを作ることを目指しました

デザインは完全に無視して、「とりあえず動くもの」を作ることを目指します。

[canvas](http://www.html5.jp/canvas/)が使えそうだと思ったので、これで行く事にしました。

使ったことがなかったので、色々サンプルコードを探して読みました。

また、Github pagesを使ってホスティングしているので、ページを先に公開してリアルタイムで開発を進めていきます。

仮の背景画像をフリー画像編集ソフトGimpで雑に作りました。

<img src="https://qiita-image-store.s3.amazonaws.com/0/156690/034e5246-530d-f2e6-5224-5e089fa6d678.png" width=80%>

こうして、頑張って作ったプロトタイプがこちらです。

![RTvsFav.gif](https://qiita-image-store.s3.amazonaws.com/0/156690/125ac756-357e-2f7e-af11-bccfca030339.gif)


##2日目

###[bootstrap4](https://getbootstrap.com/)を追加して、デザインの調整をしました

![DtA0mWrV4AErOAO.jpg](https://qiita-image-store.s3.amazonaws.com/0/156690/82f1f717-df80-07de-5232-9f44d93da1ba.jpeg)


###画像合成の調整をしました

また、プロトタイプでは画像の幅を決め打ちでこちらで決めていたので、いい感じの場所・大きさで画像を合成してくれるようにコードを修正しました。

###サービス名を決めました

仮のサービス名は「RT vs Fav　画像メーカー」だったのですが、分かりにくのでちゃんとしたサービス名を考え直しました。

<blockquote class="twitter-tweet" data-conversation="none" data-lang="ja"><p lang="ja" dir="ltr">「<a href="https://twitter.com/hashtag/%E3%81%84%E3%81%84%E3%81%ADvsRT?src=hash&amp;ref_src=twsrc%5Etfw">#いいねvsRT</a>」画像メーカーというサービス名にしようかな</p>&mdash; れとるときゃりー🧡 サービス開発で生きていきたい DM開放してます (@retoruto_carry) <a href="https://twitter.com/retoruto_carry/status/1067458013563240448?ref_src=twsrc%5Etfw">2018年11月27日</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


###背景画像をちゃんとしたものに変えました

頑張って作りました。

![background5.png](https://qiita-image-store.s3.amazonaws.com/0/156690/7bfafbfb-03d3-8b8c-48b4-f0d431b85595.png)


###metaタグやOGP画像を設定しました

metaタグとはページの各種付加情報を定義するタグのことです。

OGP画像とはツイッターなどのSNSにシェアされた時に、リンクが画像として表示されるアレです。

↓作成したOGP画像です。

<img src="https://qiita-image-store.s3.amazonaws.com/0/156690/08faa623-afa9-60bb-3d81-163f83b913df.jpeg" width=80%>


###SNSシェアのボタンも追加します
<img width="80%" alt="スクリーンショット 2018-11-28 7.50.24.png" src="https://qiita-image-store.s3.amazonaws.com/0/156690/2532488d-e6f3-b5fc-65a5-2b5c9ff19b9f.png">

###[Googleアナリティクス](https://analytics.google.com/analytics/web/#/)を設定しました

アクセス解析に使います。簡単です。

###リリースツイートをしました。


<blockquote class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr">こういう画像を簡単に作れるサービスを作りました!！！<br><br>簡単にいいねとRTでせんそうを生み出す画像を作れるサービスです<br><br>いいねやRTしてくださると嬉しいです！😊🙏<a href="https://t.co/iy4Mh1hqVm">https://t.co/iy4Mh1hqVm</a> <a href="https://t.co/EHsyC3c6Ek">pic.twitter.com/EHsyC3c6Ek</a></p>&mdash; れとるときゃりー🧡 サービス開発で生きていきたい DM開放してます (@retoruto_carry) <a href="https://twitter.com/retoruto_carry/status/1067507369553256448?ref_src=twsrc%5Etfw">2018年11月27日</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

#まとめ

だいたいこんな感じの流れでした

- 初日
    - 紙で画面設計
    - 技術について調べる
    - プロトタイプ作成
- 2日目
    - 仕上げとデザインの作り込み
    - リリースのためのめんどくさい作業
        - metaタグやOGPの設定
        - SNSリンクの設置
        - アナリティクスの設置など

#感想
勢いでバーっと作りきるのは、ゲーム感があってとても楽しかったです。
個人開発だと、時間かければかけるほど飽きてきたり収拾がつかなくなってしまいます。
その点、Webサービス開発RTAだと時間制限がある分、そういったことは回避できるかと思います。
Webサービス開発RTAにハマってしまったので、次のRTAを早くやりたいですw


#最後に
[「#いいねvsRT」画像メーカー](https://retoruto-carry.github.io/RTvsFavMaker)を作った話でした。良かったら遊んで行ってください。


[#WebサービスRTA](https://twitter.com/search?q=%23Web%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E9%96%8B%E7%99%BARTA&src=typd) を流行らせていきましょう！


いいねやコメントをしてくださると、今後の励みになります。よろしくお願いします。

良かったらツイッター([@retoruto_carry](https://twitter.com/retoruto_carry))もフォローしてね