Railsを学び始めて4ヶ月の初心者が、初めてのwebサービスをリリース！！サービス紹介とサービスを作って良かったこと

2017/11からスクールに通ってRuby on Railsの学習を始めて、初めてのwebサービスが完成しました！（作成期間は2ヶ月程度）

全力で作り、満足するものが出来たので、サービスの紹介とサービスを作って良かったことなどを書いてみます。

自分のブログにもサービスの紹介と作ってみて思ったことを書きましたが、より多くの方に知ってもらいたいと思い、Qiitaに初めて投稿してみます。
[サービス詳細についてのブログ記事](http://ysk-pro.hatenablog.com/entry/2018/03/25/100427)
Qiitaでは技術的なことにも触れたいと思います。

自分でサービスを作ってみようと思っている方の参考になれば嬉しいです。

# 作ったサービスの紹介

## 概要

『Jobmiru』という、「何のスキルが身につくのか」「具体的に何をするのか」に特化した、転職口コミサイトを作りました。

![top_shot4 16-05-08-502.png](https://qiita-image-store.s3.amazonaws.com/0/235935/87bff24c-4df8-8f7c-8b35-332ed8a30c34.png)

[Jobmiru〜「何ができるようになるか」で会社を選べる世界に](http://www.jobmiru.com/)

実際にその会社で働いたことのある方が、その会社で身についたスキル、具体的な仕事内容を投稿できるサイトです。

## 背景

私は、2018/1まで銀行で営業の仕事をしており、2月からプログラマーとして働き始めました。

新卒の就職活動、最近の転職活動と、働く会社を選ぶ機会が2度ありました。

「スキルを身につけたい」という軸があったのですが、それぞれの会社で働くことによって得られるスキルについて募集要件を見ても分からず、その情報についても集めることができませんでした。

Twitterでアンケートを取ってみたところ、私と同じように感じている方が多くいると分かり、この課題を解決するためにこのサービスを作ってみよう、と思いました。

既存のサービスとの違い、ビジネスモデル、今後の展開、課題などのサービスの詳細はブログ記事に書きましたので、ご興味のある方はご覧下さい。
[サービス詳細についてのブログ記事](http://ysk-pro.hatenablog.com/entry/2018/03/25/100427)

# 技術的なこと

## 環境
Ruby：2.3.0
Rails：5.1.4
PostgreSQL：10.1
Heroku hobbyプラン（7ドル/月）
ストレージ Amazon S3（1年間無料）
お名前.comで独自ドメインを取得しました（980円/年）

## 実装した機能
ざっと挙げると、投稿機能、コメント機能、コメントへの返信機能、いいね機能（コメント、返信、いいねはAjax化）、ランキング機能、グラフ描画機能、devise gemでのログイン機能、Twitterログイン機能、Twitterカードを実装しました。

まずは動くことを優先してコピペでも何でも気合いで書いて、その後コードを整えていきました。

## 工夫したこと
投稿の詳細ページを一目で分かりやすくするために、グラフを使いました。
こちらの2つのグラフは投稿詳細ページの抜粋です。

![スクリーンショット 2018-03-22 21.14.22.png](https://qiita-image-store.s3.amazonaws.com/0/235935/001485a3-8b39-fa26-6aff-c46d0a9af785.png)

![スクリーンショット 2018-03-25 22.53.06.png](https://qiita-image-store.s3.amazonaws.com/0/235935/94e45cef-1b55-8a77-d060-ed998aa25c34.png)

上のグラフは、kickchart gemを使用し、下のグラフは、chart.jsを使って描画しています。

## 苦労したこと
コメントへの返信機能、ログイン機能のカスタマイズ、グラフ描画機能の実装にとても苦労しました。
どれも丸2日くらいはかかっていると思います。

参考となる情報が少なく、スクールのメンター、もくもく会の現役エンジニアにしつこく質問して何とか実装できました。

## デザイン
トップページはテンプレート、トップページ以外はBootstrapを使いながら自分でデザインを調整しました。

ボタン等Bootstrapが気に入らなかったところは自分でカスタマイズしました。
スマホでも利用しやすいよう、レスポンシブデザインにしています。
[（参考）利用したテンプレート](https://startbootstrap.com/)

## 反省点
機能、DBテーブル、デザインについてはじめに時間をかけて設計をしていたつもりでしたが、作りながら変えたことが多く、もう少し設計を詰めてから作成していればずっと効率が良かったと思います。

今数えてみたところ、マイグレーションファイルが33個もありました、、、

# サービスを作って良かったこと

## めちゃくちゃ楽しい
とにかくめちゃくちゃ楽しいです。1月から作り始めて2ヶ月かかりましたが、平日は仕事から帰ってきてから約2時間、土日はほとんど終日没頭してました。

自分が感じている課題をどうやったら解決できるのかを考えること、新しい機能の実装の仕方を考えること、デザインを工夫すること、全てが楽しくて時間が一瞬で過ぎていきました。

## コードレビューがとても勉強になる
スクールの講師、メンター、Twitterでお願いした方3名の5名にコードレビューしていただきましたが、とても勉強になりました。

完全に自己流の書き方になってしまっていたので、他人が理解しやすい書き方や、現場の書き方などを学ぶことができとても勉強になりました。

## サービスについてフィードバックをもらうのが楽しく、モチベーションが上がる
未完成の早い段階から、サービスについて多くの方に見てもらい、たくさんのフィードバックをいただきました。

サービスを作っていると積極的に発信していくことで、多くの方が協力してくださいました。

自分では全く気づかなかった部分に気づくことができてとても面白く、褒めて下さる方もいてモチベーションがかなり上がりました。

## 色々な人と知り合える
スクールのオリジナルサービス発表会に登壇するための準備や、個人サービス運営者のslackに入ることで、個人でサービスを作っているレベルの高い方々と知り合えました。

# 結論

とにかく楽しくて、とても勉強になり、人脈もできる！
初心者はとりあえず自分の作りたいサービスを作ってみるといいと個人的には思っています。

頑張って作り、多くの方のフィードバックも反映しているので、もしよければ私のサービスも触ってみてください。

サービス内で投稿をしてみていただけるととても嬉しいです！
（気軽に5分程度で投稿できます！）
フィードバックも大募集してます。

サービスへはこちらから飛べます！↓
[Jobmiru〜「何ができるようになるか」で会社を選べる世界に](http://www.jobmiru.com/)

[（参考）サービス詳細についてのブログ記事](http://ysk-pro.hatenablog.com/entry/2018/03/25/100427)

[（参考）このサービスのGithubリポジトリ](https://github.com/ysk1180/jobmiru)