輸入車の整備相談サイトを開発しました
輸入車オーナーが整備の相談を投稿し、整備士が回答する、相談・回答サイトを開発しました。
要件定義から設計、開発、AWS環境の構築までを担当しています。ここでは、サイトの機能と、構成、進め方をご紹介します。
どんなサイトか
利用者は、整備について気になることを投稿し、整備士から回答をもらえます。主な機能は次のとおりです。
- 利用者は、整備に関する相談・質問を投稿できる(画像を3つまで添付できる)
- 整備士は、投稿に回答できる
- 質問した人は、整備士の回答の中から、ベストアンサーを選べる。選ぶと、その質問は完了する
- 投稿された質問と回答は、キーワードで全文検索できる
- 整備士の紹介ページに、その整備士が回答した質問の一覧を表示する
- PCとスマートフォンの両方で使える(レスポンシブ対応)
認証と通知
利用者の認証には、Amazon Cognito を使いました。Facebook、Twitter、LINEのアカウントでのログインと、メールアドレスとパスワードでのログインに対応しています。パスワードの再設定や、退会も、利用者自身でできます。
整備士は、利用者とは別の認証にしました。あらかじめ登録した整備士に、システム側で割り当てたIDとパスワードをお知らせする方式です。新規登録の機能は設けていません。
新しい質問が投稿されると、整備士へメールで通知します。メールには、質問の内容と、回答ページへのリンクを載せました。リンクを開くと、ログインした状態で、回答ページが表示されます。
AWSの構成
インフラはAWSで構築しました。使ったサービスは、次のとおりです。
| 役割 | サービス |
|---|---|
| アプリケーション | Elastic Beanstalk(PHP 7.4、Laravel) |
| データベース | Amazon RDS for MySQL |
| 添付画像の保管 | Amazon S3 |
| 負荷分散 | Elastic Load Balancing |
| ドメイン | Amazon Route 53 |
| メール送信 | Amazon SES |
| 利用者の認証 | Amazon Cognito |
用意したのは、本番環境だけです。検証用の環境が必要な場合は、あらためて相談して構築する、という取り決めにしました。
進め方:書いたことだけを作る
要件定義書の冒頭に、「本書に記載してあることだけを実現し、それ以外は対象としない」と書きました。範囲を最初に決めておくことで、あとから「これも欲しい」が増えて、スケジュールが崩れるのを防げます。
- 毎週月曜に、30分のオンライン定例を開き、進捗と課題を確認した
- 7月に要件をまとめ、9月末のリリースを目標にスケジュールを引いた
- サイト全体のデザインと機能の配置は、こちらで設計し、フィードバックをもらいながら改善した
- バナー画像や文章などのコンテンツは、お客様に用意していただいた。画像のリサイズは、こちらで行った
整備士の情報の登録は、最初のリリースでは手作業にしました。管理機能は、後のフェーズで開発する方針です。必要なものから順に作り、公開を急ぎました。
リリースのあとも
リリースの前夜に、本番へ反映する作業を行い、翌日に公開しました。その後も、運用しながら改善を続けています。
ヱビスは、要件定義からAWSでの構築・運用まで、Webサービスの開発を一貫して対応しています。ご相談はお気軽にお問い合わせください。