svg-animation
ブログ一覧

輸入車の整備相談サイトを開発しました

輸入車オーナーが整備の相談を投稿し、整備士が回答する、相談・回答サイトを開発しました。

要件定義から設計、開発、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サービスの開発を一貫して対応しています。ご相談はお気軽にお問い合わせください。

ブログ一覧