【個人開発】誰でも、気軽に使える！エンジニア向け案件マッチングサービスを作ってみた。

# はじめに
![match.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1185943/677239f4-ca49-4e4f-d582-ad939c46908d.png)

はじめまして、まさやんと申します。

■運営サービス一部
https://smart-wordpress.com
業界特化、スマートなWordPressテーマ販売サイト『SMART WP』

今回作成したサービス↓
https://match-engineer.com/

昨今では、コロナウイルスの影響もあり、「テレワーク」や「リモートワーク」といった言葉が一般の方々にも浸透しました。そんな中、「自分も案件を獲得してみたい！」「まずは副業からはじめてみたい！」といったニーズも増えています。
(参考：https://xn--pckua2a7gp15o89zb.com/news/20211109)

しかし、そのようなニーズが増えている一方で、経験の浅い学生や主婦のような方々が、**気軽に挑戦できる環境が整っているとは言いづらい状況**となっています。エンジニアの方が案件を獲得するクラウドソーシングのようなサービスは数多く存在しますが、入力項目が多く、ごちゃごちゃしていて、初心者の方が**最初の一歩**を踏み出すにはハードルが高くなっています。

そこで、初心者の方が、スタートの第一歩を踏み出すことができる『**誰でも**』、『**気軽に**』案件に応募が可能な、**エンジニア向け案件マッチングサービス**（案件マッチング版のメルカリのようなイメージ）を作成しました。
https://match-engineer.com/

![ogp.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1185943/ef9d6e14-0eaa-e11c-909d-b86c3eafb4cf.png)

# サービス概要
#### 1.案件一覧から検索
キーワード検索で目的の案件をすばやく探すことができます。
カテゴリー検索では、単発とレベニューシェアの2種類から選択できます。
<a href="https://gyazo.com/87faa83724deca991486a277ccf5d928"><img src="https://i.gyazo.com/87faa83724deca991486a277ccf5d928.gif" alt="Image from Gyazo" width="1000"/></a>

#### 2.パブリックメッセージで案件について質問
案件詳細画面にて案件に対する質問などを気軽にすることができます。
パブリックメッセージは全てのユーザーが閲覧可能なので、過去にどんなやり取りがあったのかもわかります。
![screenshot.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1185943/b66d4f0f-ba5d-8da9-3175-c95d44658c57.jpeg)

#### 3.案件応募時にクライアントとDM
案件に応募するとDM機能が使えるようになり、クライアントと直接やり取りができるようになります。公には話せない案件の詳細についても話し合うことが可能です。
![FireShot Capture 150 - DM詳細 - match - match-engineer.com.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1185943/becb1b77-59bb-f132-5e1e-7c756ec1e4bf.png)

#### 4.マイページで各情報を管理
マイページでは、自分が登録・応募・お気に入り・コメントした案件、DMをそれぞれ5件ずつ表示しており、見たい情報がひと目でわかるようになっています。
<a href="https://gyazo.com/bb0ae7fc56aded7477e0cd49221ddf50"><img src="https://i.gyazo.com/bb0ae7fc56aded7477e0cd49221ddf50.gif" alt="Image from Gyazo" width="1000"/></a>

#### 5.ユーザーごとの情報を確認
メッセージのアイコンを押すとプロフィールやそのユーザーが登録した案件を確認することができます。ユーザーごとの情報も確認しやすくしました。
<a href="https://gyazo.com/c4f2f7cd029d18f68df977b98c2ca416"><img src="https://i.gyazo.com/c4f2f7cd029d18f68df977b98c2ca416.gif" alt="Image from Gyazo" width="860"/></a>

# 使用技術
- PHP 7.4.12
- Laravel 5.8.38
- JavaScript
- Vue.js 2.5.17

#### ツール
- SASS
- laravel-mix

#### フロントライブラリ
- axios
- jQuery
- lodash

#### テスト
- PHPUnit
- mocha


# テーブル設計
![スクリーンショット 2022-02-12 16.33.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1185943/d9b4d4c4-91cc-ba56-3383-b2f3d784df46.png)

# 対応ブラウザ
- Internet Explorer 11
- Microsoft Edge （最新版）
- Mozilla Firefox （最新版）
- Google Chrome （最新版）
- Safari （最新版）


# 工夫したポイント
#### 簡単に登録が可能
『誰でも』、『気軽に』使用することができるサービスにしたかったので、メールアドレスとパスワードのみで登録できるようにしました。登録後、プロフィール編集画面で名前や自己紹介、アイコン画像などを登録することができます。
![FireShot Capture 157 - プロフィール編集 - match - match-engineer.com.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1185943/af1add9b-836b-a7e6-2c45-055c8c93ef3a.png)

#### ユーザーにストレスを与えない
未ログイン状態で「会員登録して応募する」を押し、ユーザー登録をした際に、もともと見ていた案件画面に遷移してあげるようにしました。よくある仕様で、登録後に必ずマイページに飛ばされるというものがありますが、ユーザー心理として「応募しようと思って登録したのに。。。また探すのか。。。」とストレスが溜まってしまいますので、登録前に見ていたページへ遷移し、すぐ案件に応募したり、メッセージを送信できるようにしました。
<a href="https://gyazo.com/a3716247ecb2859b25e2b6297720562e"><img src="https://i.gyazo.com/a3716247ecb2859b25e2b6297720562e.gif" alt="Image from Gyazo" width="1000"/></a>

#### 直観的に操作しやすいUI
ログイン中はヘッダーにアイコンと名前を表示させ、クリックするとメニューが出てくるようにしました。このように、ユーザーが直観的に操作ができるよう工夫しました。
<a href="https://gyazo.com/5f0f0410b3fb62c7e19d320d407124fa"><img src="https://i.gyazo.com/5f0f0410b3fb62c7e19d320d407124fa.gif" alt="Image from Gyazo" width="472"/></a>

#### 案件応募時にメール通知
案件に応募されると、案件を登録したユーザーにメールで連絡がいくようにしました。応募がきたことに気づかないといったコミュニケーションミスを防ぐようにしました。

#### 保守性の高いCSS設計
CSS設計はFLOCSSを採用しており、全ページ1からコーディングしました。保守性が高く、今後も効率的にサービスが運用できるように意識しました。

# 今後の課題
- SNSログイン機能でもっと気軽に登録できるようにする
- リアルタイムでメッセージが送信できるようにする
- 今回はVue.jsでそれぞれのパーツをコンポーネント化する止まりだったので、完全SPA化に挑戦して、ユーザーがより快適に使えるサービスにする
- AWSにデプロイ

# おわりに
最後までご覧いただきありがとうございました！
今後もユーザーの課題解決ができるサービスづくりを意識してやっていきます。
それでは！

Twitter↓
https://twitter.com/KPz234iNYoOQZF5

今回作成したサービス↓
https://match-engineer.com/