Darkspede社での開発経験

OVERVIEW

⼯事⽤の⾞両やツール、建材などのレンタル・シェアするためのアプリケーションの開発

YEAR 2021

 2021年7月大学院卒業後、将来は日本で生活することにしたため、2022年4月の日本の会社の入社まで少し間があったため、メルボルンにあるITベンチャー企業に入社しました。⼯事⽤の⾞両やツール、建材などのレンタル・シェアするためのアプリケーションの開発に携わっていました。具体的には、以下の三つの部分の開発を行っていました。

1.サーバーAPIの開発

 ユーザーアプリの開発に備え、.Netで構築したサーバーに、MangoDBやユーザーアプリとのやり取りと、データ処理に関するAPIを多数実装しました。開発言語はC#でした。

2.ユーザーアプリの開発

 ユーザーアプリはさらに二つに分かれ、一般ユーザー用のスマホアプリと、運営会社のアドミニストレータ用のコントロールパネルアプリです。モダンなエフェクトを得るために、いずれもUnityを使用して開発しました。その中で特に開発難易度が高かったのはコントロールパネルアプリで、Unityで作ったWebGLのUIに、車両の位置情報をわかりやすく見せるためにマップを組み込む必要があったので、コスト削減のため無料のJavaScriptライブラリを使用していたため、UnityとJavaScriptとの間の通信に工夫していました。そして、ユーザーアプリのほうは、ゼロから実装をはじめ、テストリリースまでやり遂げました。スマホでUnity Engineを実行するのでスマホの発熱とバッテリー消耗が高かったので、実装の最適化を繰り返し、努力して発熱とバッテリー消耗を抑えることができました。

3.モニタリング用ウェブアプリの開発

 テストの結果を常にモニタリングするために、テストに使用する内部用のウェブアプリを、JavaScript/HTML/CSSで開発していました。車両と直接通信することができ、車両が搭載している端末にリモートで指示を出すことができます。そしてモニタリングが一番メインの目的で、サーバーと通信しているすべての車両の位置情報を、Three.jsライブラリを使って3Dで地図上に表示するだけでなく、車両の位置情報履歴と状態を記録し、地図上に車両の動線を描き、スピードやエンジンのオンオフなどの情報をそれぞれ違う色で線を描いて表示します。