

ついにこの日がやって来ました!
Laravelで開発した、留学マッチングサービス「HOMEABROAD」をリリースしました!
HOMEABROADの開発は、僕が人生で初めて開発したサービスで、「日本の若者と海外の技術者を繋げる」をテーマに開発をしました。
今回の記事では、大学生エンジニアの僕がHOMEABROADを開発した経緯や、開発のプロセス、マッチングサービスを開発してみた感想などをお話しします。
✔︎本記事の内容
- 留学マッチングサービスを開発した経緯
- HOMEABROADの開発プロセス
- HOMEABROADの機能紹介
- 開発で頑張った点・難しかった点
- 開発を終えての感想

人生初めてのサービス開発ですが、自分的にも満足いくものができました!
留学マッチングサービスを開発した経緯

まずそもそも、留学マッチングサービス「HOMEABROAD」を開発しようと思ったのか経緯をお話しします。
僕はインドのIT都市バンガロールでIT留学をしており、そのプログラムの中で「独自開発」と言うカリキュラムがあり、プログラミング学習の成果をアウトプットする事ができます。
✔︎独自開発の例
- インドの物件搭載サイト
- カレー専門のグルメサイト
- ジャズセッションのマッチングサイト
これらはインドIT留学の際に同じ生徒が開発したものです。
独自開発では、自分の好きなサービを何でも作ってもいいのですが、自己満の開発ではなく、何か世の中ニーズを満たす事ができるサービス開発をしたいと考えていました。
僕自身インドや海外に飛び出して、大きく人生が変わったので「僕と同年代の若い世代にももっともっと海外に飛び出して、海外を好きになって欲しい」そういう思いから、留学マッチングサービスを開発しました。
↓詳しい開発の経緯・開発前の僕の考えはこちらをどうぞ!↓
エンジニアになるにはアウトプットが命
インドでIT留学はしたものの、ただ単にプログラミング学習をして何も開発をせずに帰国してしまっては、何のために来たか分かりません。
- ひたすらプログラミングを勉強
- クオリティーが低くてもサービス開発をいくつかしている
この2つを比較した時に、どちらがエンジニアへの道が近いかというと圧倒的に後者で、何でもいいのでプロダクトを開発しないとエンジニアにはなれません。

エンジニアの面接の時に必ずと言って良いほど、独自で何かサービスを開発しましたか?と聞かれるもんね!

はい!その通りです!エンジニアになるには独自開発は不可欠と言っても良いいです!
就職以外にも独自開発をアピールできる場は他にもあります。
✔︎独自開発をするメリット
- エンジニアとして就職する際に必須(履歴書代わり)
- 自分のポートフォリオとして使える
- エンジニアとしての信頼感を得れる
- システム、フロントの基礎知識を網羅できる
- プログラミング学習の1つの分岐点になる(英語学習で例えると、英会話ができる)
- 知り合いに自慢できる。笑

僕自身も将来はエンジニアになりたいと思っていたので、独自開発をすることは必須だと考え、必ず最後まで完成させることを決意しました!
Laravelでの開発プロセス

Laravelの開発の期間をご紹介します。
- システムの開発:約1ヶ月(インド滞在中)
- フロントサイドのコーディング(2ヶ月)
- 本番環境でのバグ調整(1ヶ月)
主にこんな感じのスケジュールで開発を行いました。
インド滞在中は、毎日10時間程度開発に携われる事ができたので、メインのシステム部分は1ヶ月かからない程度で完了する事ができました。
しかし、インドIT留学を終えて、今はベトナムのIT企業で働いているためなかなかコーディングする時間を取れずに、土日の空き時間で少しずすフロントサイド(サービスの見た目)を整えていきました。
✔︎マッチングサービス開発の手順
- UI/UXの設計
- デザインの設計
- HTML,CSSコーディング(ある程度)
- データーベースの設計
- Laravelでバックエンド開発
- Herokuにデプロイ
- ベータ版リリース
- Heroku環境でのバグ修正
- レスポンシブコーディング
- その他微調整
- リリース
↓Laravelとは何か、作れるものや特徴はこちらの記事をどうぞ!↓
HOMEABROADで実装した機能

この留学マッチングサービスのモデルとしてAirbnbを採用しました。
つまり、Airbnbで実装されている機能で、自分で実装できそうな機能だけをピックアップして開発を行いました!
✔︎HOMEABROADで実装した機能
- ログイン機能
- Facebookログイン機能
- 文字、画像の投稿機能
- 投稿の編集機能
- 絞り込み検索機能
- 友達追加機能(マッチング機能)
- チャット
- 決済システム(Stripe)
- AWS s3に画像をアップロード
初めての独自開発にしては、かなり盛りだくさんの機能になりました。
当初はこんなにも機能を実装する予定はありませんでしたが、マッチングサービスを開発していくうちに「こんなシステムも導入したらユーザービリティが向上するな!」など思いつく事がたくさん出てきて、どんどん調べて実装していきました!
上記の機能を実装するのに使用したプログラミング言語やスキルは以下の通りです。
- HTML&CSS
- Bootstrap
- Laravel
- Vue.js
- PHP
- MySQL
- JavaScript
- AWS
- Heroku
Vue.jsに関しては、チャットシステムを構築するのに必要でしたが、僕自身全く知識がなかったので、海外のYouTubeを活用して動画を見ながらコーディングをし、実装しました。

海外のYouTubeはプログラミング学習で重宝しました!
サービス開発で頑張った点
この留学マッチングサービス「HOMEABROAD」を開発する上で、最も頑張ったことはやはり、プログラミング学習者の最も大きな壁である「エラーと挫折との戦い」です。
プログラミング学習にはエラーと挫折が付き物で、挫折者は8割に登ると言われており、その最も大きな理由が「エラーにハマってプログラミングが嫌いになった」ということです。
僕自身も、このマッチングサービスの開発の中で、エラーにどハマりした事がなんどもありました。
一日中1つのエラーに立ち向かっても治らない、、、3日間同じエラーにどハマりしたこともあります。
しかし、そのエラーを解決した時のあの達成感は今でも忘れる事ができず、あの快感が僕をプログラミングに熱中させてくれました。
- エラーにハマる
- トライする
- エラーにどハマりする ⇦ ここをとても頑張った
- エラー解消
- プログラミング好きになる
このサービス開発の中で、エラーの解消を頑張ったことによって、本当のプログラミングの楽しさを知るきっかけにもなりましたし、何より自分のサービスにより愛着がわき、「もっとこうすればよくなるのではないか!」など沢山のアイデアがバグとの戦いで生まれました。
✔︎エラー解消を頑張って得れたもの
- プログラミングの楽しさ
- 一つのことに注力できるメンタル力、集中量
- 高度なプログラミングスキル
- 同じエラーを起こった人に、助けれる能力
- 調べる力
- 新たなアイデア
- 自分のサービスに愛着心が湧いた
- だんだんエラーの頻度が減った

始めのうちはエラーだらけでしたが、だんだんエラーが出てくる頻度も少なくなっていき、成長を実感しました!
マッチングサービスの開発を終えての感想
たった一つの小さなプロダクトの開発から数百以上もの学びがあり、普通にプログラミングを学習するより、サービス開発を通して学んだ方が、よっぽど効果的だと感じました。
独自開発は、プログラミング技術以外にも必要スキルが沢山あり、マーケティング能力や高度な思考力など、今後プログラマーとして活躍するには必須のスキルが詰め込まれています。
このHOMEABROADの開発を終え、最後までやり遂げたことにより、自分にとても自信がつきましたし、なんだか「これで僕もエンジニアへの仲間入りか。。。」という気持ちにさせてくれます。
独自開発をまとめると、、、
独自開発を終える=エンジニアへの入り口
このように僕は考えます。
独自開発を終えたことで、エンジニアとして新たな道が見えてきますし、何よりエンジニアとして世の中に価値を提供できるスタート地点に立つ事ができると思います。
留学マッチングサービス「HOMEABROAD」の開発は、僕をエンジニアへの入り口に立たせてくれた大きな存在です!
最後までご覧頂きありがとうございました!