Edited at

あなたの嫁(2次元)を記録できるサービスを作ってみた

この記事は個人開発 #2 Advent Calendar 2018の記事です。


作ったサービス

よめなう!

https://yomenow.me


トップ


マイページ


どんなサービスか

エンジニアの皆さんはアニメ好きですか?僕は好きです。

アニメ好きのエンジニアの皆さん、3クール前の嫁覚えていますか?僕は覚えていません。

そう。「よめなう!」はそんな人に向けたサービスです!

無料で Twitter のアカウントさえあれば利用できるので是非使ってみてねっ。


技術

「よめなう!」では以下の技術が使われています。


  • Ruby on Rails

  • React

  • bulma

  • TypeScript

  • PostgreSQL

  • Heroku

  • S3

  • CloudFront

  • Docker (development only)

私の記事をよくみてくださっている方なら、「あ、いつものだな」って思われるかもしれませんが、その通りです笑。

参考:

https://qiita.com/minakawa-daiki/items/7cf1fd61a288d4e084ab

https://qiita.com/minakawa-daiki/items/1d7b840c0850ec7c834c

しかし、今回の「よめなう!」今までの開発とは一味違った部分が存在しています。

それは、リストの太字にしてある部分です。


PostgreSQL

Herokuにデプロイするのなら使っている人は多いのではないでしょうか。

今まで僕は開発環境を MySQL、本番環境を PostgreSQL という、ワケワカメなことをしていたのですが、これは本当にワケワカメでした。

実際、何がワケワカメなのかというと


  • 大文字小文字の区別で怒られる

  • 数値と文字列の型の違いで怒られる

この2つが頻繁に発生してしまったことです。

型の違いで怒られるのはまあ、ログ見ればすぐにわかるんですけど、 「大文字小文字の区別で怒られる」のはかなり険しかったです。

具体例を示しますと、 DBにとあるテーブルのSNSというカラムがあったとして、そこには「Twitter」が保存されてたとします。

そこから http://localhost:3000/sns/twitter にアクセスして、 Rails側で params[:sns] みたいな感じで twitter という文字を取得し、 TableName.where(sns: params[:sns]) を実行したとするじゃないですか。

これ、ローカルがMySQLだと問題なく取得できるんですよね。実際に Heroku にデプロイして件数が0件だった時は初めは???状態でしたが、今思えば当たり前のことですよね。

要するに、ローカルと本番環境で違うDBを使うのは辞めよう!!!!!!


React + TypeScript

今までは 古き良き Rails のviewを使って開発してて、仮想DOMとか使わずに物を作ってたり、、、それがいいと自分はどこかで思っていたのですが、最近、環境構築が面倒臭いだけだったと認め、しっかりと整えて開発しようと思った次第です。要するにチャレンジです!

そうはいっても、完全なSPAではなく、 Railsで簡単に書けるところはRailsで書くような形にしています。

https://github.com/reactjs/react-rails

これにはお世話になりました。

またSSRも実現しており、今まで個人では触れていないものを触るいいきっかけとなりました。

そして、次回からもこんな感じで開発していきたいという思いがあり、ボイラープレートを作っていました(これが開発の時間をメチャクチャ占めた)

https://github.com/minakawa-daiki/my-rails-boilerplate

よかったらコミットログを追ってみたり、プルリクを投げていただけると幸いです🙏


費用

おそらく 月1000円くらいと予想

Heroku 月7$ + S3とCloudFront の費用という感じです。

皆さんが使ってくださると、僕の懐が寒くなるのでオススメですよ!


今後の展望

ユーザがたくさんついたら嫁ランキングを作ってみようと思います!


まとめ

個人開発を半年以上続けてきて、まだまだこれからな部分が多いなと感じていますが、自分の力がついてきていることは実感できます。

実際に自分の手で0から作り、公開まで持っていくという作業はかなりのアウトプットになるのでオススメです。

僕はクリスマスはこのサービスに登録した正妻とイチャイチャする予定なので、皆さんも真似してください。

君もこれで快適嫁ライフだ!