株式会社Wiz / バックエンド/フロントエンドエンジニア
自社の営業チーム用のマップWebアプリケーション
自社の営業社員が訪問可能な顧客の管理に使用する地図アプリケーションを開発しました。地図機能はフロントエンドにGoogle Maps APIを組み込んで実装されました。座標情報を持つ訪問先のデータをマップUI上にピンで表示し、クリックで詳細情報の確認やメモの保存などができる仕様です。 主な機能は以下の通りです。 - ユーザー用画面 - 訪問先をピンとしてマップUI上表示 - 訪問先についてのメモの登録、更新 - 管理画面 - 顧客情報の管理 - CSVインポート - ユーザー情報管理 使用技術は以下の通りです: - フロントエンド: - TypeScript, React, Emotion, Redux (Toolkit), Google Maps API - バックエンド: - PHP, Laravel, Go, MySQL, GitHub Actions, Docker, AWS 3名のチームにバックエンドエンジニア(インフラ構築含む)として参加し、すでにあるプロトタイプを元に新規開発を行いました。実装する機能自体はシンプルなものであり、どちらかといえばインフラ構築とバッチ処理実装が主な業務でした。 【主な取り組み、実績など】 ## Goによる大量データ投入のバッチ処理 初期データとしてCSVファイルから抽出した数万件のデータをDBに流し込む必要がありました。最初はPHPで実装しましたが、10時間以上経っても処理が終了しないような状態であり、別の方法を探すべきと判断しました。並行処理が可能なGoが適切だと考え、急遽Goを学習し、バッチ処理を実装しました。結果、10時間でも終わらなかった処理が40分に短縮され、大幅に業務を効率化することができました。 また、その後他プロジェクトでの同様のシチュエーションにおいても、この時の方法を転用することでスムーズなデータ投入を行うことができました。 ## AWSのインフラ構築 インフラ担当がチームにいなかったため、AWSでインフラ構築を行いました。 大まかな構成は以下の通りです。 - EC2 - RDS - S3 - Let's EncryptでSSL化し、証明書の更新はcronで定期実行