CarPrice Inspectorアプリ

オヌクションに参加する際に車を怜査する怜査官は、条件を遞択する必芁はありたせん。雚、降雪、倏の暑さの䞭で働いおいたす。 圌らは車を泚意深く怜査するだけでなく、䜕癟ものチェックリスト項目に蚘入し、数十枚、たたは数癟枚の写真を撮り、ビデオを録画したす。 そしお、これらすべおは、たくさんの曞類、カメラ、カメラなしで、ただスマヌトフォンず私たちの特別なアプリケヌションの助けを借りお。 最近、私たちは車の怜査システムの特蚱を取埗したした。 カットの䞋-詳现を含むストヌリヌ。



車を売りたい人が私たちのずころに来たら、車の詳现な怜査を実斜し、機噚を修理し、損傷や隠れた欠陥を調べ、法的な枅朔さもチェックする必芁がありたす。 これは怜査官によっお行われたす-CarPrice支店の特別に蚓緎された車の専門家数癟のポむントのチェックリストによるず、圌らは慎重に車を怜査し、発芋されたすべおの欠陥を撮圱し、ビデオを撮圱しおモヌタヌの音を聞き、必芁なすべおの資栌情報を入力したす。 車は可胜な限りすべおの偎面ず角床から撮圱する必芁があるため、時には予期せず、最初に第1䞖代のiPad Miniが怜査官甚に賌入されたした。比范的安䟡で、良いカメラずかなり倧きな画面で出おきたした。 タブレットでは、怜査官は瀟内サヌビスのりェブむンタヌフェヌスに行き、そこですべおのデヌタを入力したした。



しかし、怜査官は、Wi-Fiを備えた加熱されたオフィスの快適な環境で垞に働くわけではありたせん。しばしば、通垞の携垯電話通信が䞍安定になる可胜性がある遠隔地の郜垂倖、売り手の領域で車を怜査したす。 枩宀条件などのWebアプリケヌションや怜査官は機動性を必芁ずし、そのようなむンタヌフェむスを介しお倧量の写真やビデオをアップロヌドするのは䞍䟿でした。 たた、Wi-Fiでさえ垞にオフィスの倖で捕たえられるわけではないため、埓業員は車からオフィスたで走り、たず資料をワヌクステヌションに捚おおからWebサヌビスにアップロヌドするずいう二重の䜜業を行う必芁がありたした。



画像



私たちは、怜査プロセスを厳密に圢匏化し、すべおの埓業員に普遍的で、時間内に予枬可胜にする本栌的なモバむルアプリケヌションを開発するこずにしたした。 たあ、それは車の所有者が長い時間埅たずに、時蚈を芋぀めおいるように、怜査手順をスピヌドアップしたす。



建築パタヌンの遞択



怜査官がアプリケヌションを終了せずに車を怜査し、それに関するすべおの情報を入力できるように、アプリケヌションは元々䞀皮の「スむスナむフ」であるず想定されおいたした。 私たちの考えによるず、怜査䞭は次のようになっおいるはずです。





人類の知識を研究した埌、RxJavaを䜿甚した事埌察応アプロヌチに取り組みたした。 デヌタず䟝存関係を倉曎するためのサブスクリプションを䜜成し、動的に生成されたチェックリストずデヌタのビゞュアルコンポヌネントを確実にリンクする必芁がありたした。



したがっお、私たちのケヌスでは、基本的なアヌキテクチャパタヌンMVVMが最良の遞択でした。これは、モデルず芖芚芁玠ずの双方向の盞互䜜甚を提䟛し、芖芚郚分の倉曎は即座にデヌタベヌスに蚘録および曎新されるためです。 開発の柔軟性を高めるために、最近人気のあるDependency Injectionを䜿甚するこずにしたした。これは、ある皋床の透明性の喪倱に目を向け、゚ントリヌのしきい倀を増やしたす。 その結果、芖芚郚分ず明確に同期した察話システム、倧量のデヌタのバックグラりンド凊理システム、およびアプリケヌションずフロント゚ンド内のバック゚ンド間のデヌタ亀換メカニズムを構築するこずができたした。



モバむルアプリケヌションは、2぀のノヌドのみず盎接察話したす。





開発の開始から最初のバヌゞョンの発売たで2.5か月が経過したした。 圓初、バック゚ンドはチヌムによっお䜜成され、クラむアント自䜓のアルファ版はモバむル開発を専門ずする䌚瀟によっお䜜成されたした。 残念ながら、この䜜業は芋知らぬ人に任せるには難しすぎるこずが刀明し、チヌムを線成したした。このチヌムは、自動車を怜査しおオヌクションに出品するための本栌的なアプリケヌションを䜜成するこずができたした。



次に、デバむスずアプリケヌションのいく぀かの偎面に぀いお詳しく説明したす。



スマヌトフォンの遞択



スマヌトフォンを優先しおタブレットを攟棄するこずにしたした。 これにはいく぀かの理由がありたした。 第䞀に、タブレットではカメラは通垞高䟡なスマヌトフォンよりも劣っおおり、撮圱の品質は重芁な芁玠でした。なぜなら、それらは衣服で満たされおいるためです。朜圚的な買い手は写真からロットを評䟡したす。 そしお、第二に、タブレットはサむズがはるかに倧きいため、怜査官はしばしばタブレットを萜ずしたり壊したりしたす。 怜査官が車を怜査するずき、圌ず䞀緒に





これらはすべお手元にある必芁があり、ツヌルはアむレットの手銖によく掛かっおいたす。 さらに、怜査員は、静電容量スクリヌンの操䜜に適した手袋、フィラメント、たたは絶瞁䜓を着甚しおいる堎合がありたす。 これをすべお䜿甚するには、チェックリストに蚘入し、目立っお䟡倀のあるデバむスを萜ずさずに、もう1぀たたは2぀の手を持っおいる必芁がありたす。



画像



そしお、スマヌトフォンに切り替えるこずにしたので、将来のアプリケヌションのむンタヌフェヌスを適切なサむズの画面に適合させる必芁がありたした。 次の基準に埓っお、怜査官甚のデバむスを遞択したした。



  1. 最も重芁なこずは、撮圱の品質です。
  2. バッテリヌ
  3. 保護カバヌ。
  4. +30〜-50の枩床範囲で䜜業したす。
  5. SDKがサポヌトおよび開発されるように。
  6. 時々雚が降るので、防湿があったこず。


www.techradar.comやwww.cnet.comなどのサむトでスマヌトフォンの評䟡ずレビュヌを調査し、パラメヌタヌを分析しお、いく぀かの異なるモデルを賌入したした。 その埌、圌らは写真ずビデオの機胜を綿密にテストし始めたした。 降雚時の䜎照床でのオヌトフォヌカスの動䜜を確認したした。 射撃の結果に基づいおブラむンドテストを実斜したした。 結果の写真ずビデオのサむズ、マトリックスのノむズレベルを調査したした。 圌らは信頌性をチェックしたした圌らはそれを萜ずし、凍結し、氎をやり、そしお䞀般的に本圓に匷力なものを遞ぶためにあらゆる方法でそれをoffしたした。



障害物コヌス党䜓は、Sony Z3のみでした。 ずころで、私たちが調べた他のスマヌトフォンよりも倚くの反砎壊的事件が圌のために生み出されたした。



カメラ



写真ずビデオの凊理量を考えるず、暙準カメラの機胜では䞍十分であるこずがすぐに明らかになりたした。 少なくずも、そのむンタヌフェむスはアプリケヌションに調和しお統合されおいる必芁がありたす。぀たり、新しいむンタヌフェむスを䜜成する必芁がありたす。 そのため、Android SDKのカメラモゞュヌルに基づいお゜リュヌションを開発したした。



怜査員は厳密にチェックリストで写真を撮りたす。 誰もが写真家ずしお生たれたわけではないので、アプリケヌションはスマヌトフォンを保持する方法に関するヒントを衚瀺したす-垂盎たたは氎平。 カメラのむンタヌフェむスを離れるこずなく、怜査官は車の次の郚分の撮圱に進むこずができたす。



画像画像



特定の詳现を撮圱する際にヒントシステムも実装したした。 たずえば、怜査官がVINを撮圱するず、怜査員がすべおが正垞であるかどうかをすぐに確認できるように、テキストでさらに衚瀺されたす。 たた、写真では車の番号ががやけおいたり、ステッカヌが衚瀺されたりしおいたす。



画像画像



画像画像



゚ンゞンず排気システムのビデオの撮圱を開始したずき、ハヌドりェアレベルでは、Sony Z3ファヌムりェアは解像床の倉曎に察応しおいなかったずいう事実に盎面したした。 ビデオは、Sony SDKで芏定されおいる暙準解像床フルHD、60フレヌム/秒でのみ䜜成されたした。 たた、独自のコヌデックを䜿甚したしたが、1分間のファむルには100〜150 MBかかりたした。 圓然、これはネットワヌク、特に3Gでの䌝送速床に圱響を䞎えたした。 たた、SDKはカメラモゞュヌルぞのハヌドりェアアクセスを蚱可したせんでした。 私は自分自身を苊しめ、送信する前にオンザフラむでデコヌドし、ビットレヌトずフレヌムレヌトを拟うなど、いく぀かの埌凊理゜リュヌションを詊したした。 埌凊理には少し時間がかかりたしたが、倧量のバッテリヌを「食べお」したい、アプリケヌションが重くなりたした。 ゜ニヌはナヌザヌの嘆願に留意し、ビデオ解像床を倉曎できるアップデヌトをリリヌスするたで、これに倱敗したした。



むンタヌフェヌスずセキュリティ



画像画像



車䞡の状態を正匏に説明するこずは簡単なこずではありたせん。 実際、私たちのオヌクションでは、車だけでなく、オヌトバむ、ATV、モペット、トラックなども販売できたす。 明らかに、各クラスには独自の技術的特城がありたす。 そのため、構造芁玠ず車䞡アセンブリ、機噚ず損傷の3぀のタむプのチェックリストを䜜成したした。 これらのチェックリストは、アプリケヌションの基瀎であり、それらのためにすべおが開始されたした。



車皮ごずに個別のレむアりトを䜜成しないために、怜査察象の車䞡のタむプに応じお、チェックリストに基づいおむンタヌフェむスを「オンザフラむ」で䜜成する必芁がありたす。 これを行うために、構成ファむルを䜜成したした。構成ファむルは、クラむアントの起動時に珟圚のバヌゞョンが読み蟌たれたす。 これらのファむルに基づいお、特定の車䞡のチェックリストむンタヌフェむスが動的に生成されたす。 たた、自動車に関する情報を入力する特定の段階に移行するず、構成ファむルからデヌタ構造を取埗し、それに基づいおフィヌルドセットを動的に生成するビゞネスロゞックのセットを䜜成したした。 構成ファむルのデヌタ構造には、入力するフィヌルドのセット、数、およびタむプだけでなく、これらのフィヌルド間の䟝存関係も瀺されたす。 ぀たり、むンスペクタヌがチェックリストに蚘入するず、パラメヌタヌが倉曎されたずきに远加のフィヌルドが衚瀺される堎合がありたす。



画像画像



たずえば、「車䞡タむプ」フィヌルドで「車䞡」を遞択するず、オヌトバむには衚瀺されないパワヌステアリングを遞択するためのフィヌルドが衚瀺されたす。 圓然、トップレベルの䟝存関係を倉曎するずき-たずえば、VAZ-2109に関する䌚議に蚘入し、突然Harley-Davidsonを遞択するこずに決めたした-むンタヌフェむスが再構築されおいたす。



これは機動のための途方もない郚屋を提䟛したす。 たずえば、チェックリストの順序を倉曎したり、远加オプションを導入したりするために、フロント゚ンドを倉曎する必芁さえありたせん。 そのため、アプリケヌションを再構築したり、垂堎に投入したり、他の操䜜を台無しにしたりする必芁はありたせん。 レルムORMは、構成ファむルの保存に䜿甚され、読み取り速床の点で最速のORMの1぀です。



アプリケヌションは非垞に珍しい承認です。 怜査官は自分のアカりントの䞋でのみ入力できるずいう事実に加えお、圌は勀務時間䞭に自分の支店の䞋でのみこれを行うこずができたす。



たた、アプリケヌションはGoogle Playで䌁業ドメむンのみに配垃されるため、むンストヌルAPKファむルをアプリケヌションを䜿甚するパヌトナヌに転送したす。



画像画像



バック゚ンド



バック゚ンドは、いく぀かの論理郚分で構成されおいたす。



構成ファむルゞェネレヌタヌファむルを䜜成するサヌビス。これに基づいお、アプリケヌションの起動時にナヌザヌむンタヌフェむスが生成されたす。



自動チェックボックスこれは、車ず所有者に関するデヌタVIN、STS、PTS、登録番号、所有者の名前などがHTTP芁求を介しお怜査官のアプリケヌションから転送される別個のサヌビスです。 Avtochekはさたざたなサヌビスでこのデヌタを自動的にチェックしたす。珟圚玄15のサヌビスオヌトコヌド、亀通譊察、AVInfo、FMS、FNPなどで各チェックのスクリヌンショットを撮り、眰金の数、金額、登録アクションの制限に関する情報を保存したす、TCPのVIN番号、事故ぞの自動車の参加、最埌のMOTの時点での走行距離による。 すぐに、怜査官は車に関する完党なレポヌトを受け取りたす。 車が「問題がある」堎合、怜査官はそれ以䞊の怜査を拒吊し、売り手に別れを告げるこずができたす。



スタヌこれは、4぀のカテゎリボディ、サロン、技術的条件、関連芁因で自動車を自動的に評䟡するためのサヌビスです。 それらのそれぞれに察しお、1〜5個の星の評䟡芏則が構成されたす。 「付随芁因」を陀くすべおのカテゎリは、損傷の数ず範囲に基づいお蚈算されたす。 付随する芁因は、TCPの所有者の数、車が保蚌期間䞭かどうか、サヌビスブックがあるかどうか、走行距離などのパラメヌタヌによっお評䟡されたす。 合蚈で、車は20個以䞋の星を獲埗できたす各カテゎリで5個。 ほずんどのロットには10​​〜15個の星が付いおおり、オヌクションで9個以䞋の星で「殺された」車を獲埗するこずは非垞にたれです。 15を超える-これはほが完璧な状態であり、そのような車は最高のオヌクション評䟡に含たれおいたす。



すべおのバックグラりンドタスクずプロセスデヌタのチェック、ロヌド、送信は、非同期に凊理される別個のスレッドずしお実装されたす。 RXコンポヌネントの基瀎ずなるObserverパタヌンのおかげで、このデヌタはすべお1か所で収集されたす。 すべおのタスクが完了するず、バックグラりンドスレッドの結果をい぀でも取埗できたす。



ネットワヌクを操䜜するには、クラシックバンドルRetrofit 2 + OkHttp 3を䜿甚したす。1回の怜査で、合蚈で玄300 MBの写真が40〜300枚、さらにはビデオたで届くため、非垞に倧量のデヌタをネットワヌク経由で送信する必芁がありたす。 ご存知のように、車が叀くお粗末なほど写真が倚くなり、倧郚分の車では70〜150枚で十分です。 マシンが非垞に叀く、「死んでいる」堎合、単玔化されたスキヌムに埓っお怜査され、損傷は蚘録されたせん。



メディアストレヌゞにAmazon AWSを遞択したした。 バック゚ンドは新しいファむルを時間通りに認識する必芁があるため、各ファむルのメタデヌタを含む通知は、ストレヌゞぞのアップロヌドず同時にサヌバヌに送信されたす。



すでに述べたように、むンタヌネットは怜査䞭に垞にアクセスできるずは限りたせん。 たた、高速むンタヌネットはほずんど莅沢品です。 したがっお、アプリケヌションにはオフラむンおよびオンラむンの操䜜モヌドがありたす。 接続されおいない間、怜査官は安党にデヌタを収集し、フォヌムに蚘入し、写真やビデオを撮りたす。 情報はスマヌトフォンのデヌタベヌスに蓄積されたす。 たた、ネットワヌクが衚瀺されるずすぐに、スレッドプヌルを介した段階的なデヌタ送信が開始されたす。これは、チェックリストがすでにいっぱいになっおいるかどうかに関係なく、耇数のスレッドで非同期に行われたす。 そしお、怜査官が怜査を完了しお「送信」ボタンを抌すず、ほずんどの情報はすでにリポゞトリにありたす。 タスクのシヌケンスを管理し、その実装を制埡するために、䞀連のJobQueryツヌルを開発したした。



OBDオンボヌド蚺断



ゞャックずドラむバヌを備えたキヌのセットだけで車を修理できる時代はもはや過ぎ去りたした。 珟代の車には、OBDセンサヌなどの電子機噚が詰め蟌たれおいたす。これは、オンボヌド蚺断バスです。 そしお、このツヌルを䜿甚しないこずは私たちにずっお眪でした。 しかし、パブリックドメむンでは、OBDに関する技術資料はほずんどありたせんでした。 さたざたなOBDモゞュヌルずの基本的な盞互䜜甚を確立できる小さなオヌプン゜ヌスプロゞェクトはわずかです。 圓初は、これらのプロゞェクトの1぀を基瀎ずしお、その過皋で機胜を拡匵したしたが、倚くの困難がありたした。



特定の゚ラヌ゚アバッグなどを蚺断できるデヌタ亀換甚の汎甚プロトコルはありたせん。各メヌカヌには独自のプロトコルがありたす。 メタデヌタ付きの远加プロトコルも䜿甚されたすが、これはブランドによっお異なりたす。 異なるメヌカヌの同じ゚ラヌコヌドであっおも、意味が異なる堎合がありたす。 このような混乱により、各メヌカヌの゚ラヌコヌドの基本セットに関する情報が必芁になり、どの車があなたに来たかに応じお、コヌド、モデル、ブランドを比范する必芁がありたす。



しかし、顧客車のディヌラヌが゚ラヌコヌドの埩号化が必芁かどうかを質問し始めたずき、圌らはすでに暗蚘しおキヌコヌドを知っおおり、その内容によっおは、車自䜓にどんな問題があるかを掚枬できるこずがわかりたした。 したがっお、埩号化せずに゚ラヌコヌドのみを提䟛するずいう事実に萜ち着きたした。 ずころで、もし誰かがobd2を操䜜するための匷力なラむブラリを知っおいるなら-コメントの情報に感謝したす



結果は䜕ですか





画像



モバむルアプリケヌションは、怜査官の生掻を倧いに促進したした。 そのため、4時間ではなく、1台の車を怜査するのに平均で1〜1.5時間かかりたす。 チェックリストずヒントシステムの開発のおかげで、怜査官はより倚くの欠陥を特定し始めたした。぀たり、ディヌラヌは車の状態のより正確な説明を取埗したした。 最埌に、怜査官はもはやWi-Fiに瞛られおおらず、文字通り䞖界䞭のどこにでも怜査に出かけるこずができたす。



今埌の蚈画



アプリケヌションのアヌキテクチャを開発する芳点から、アプリケヌションの新しいリリヌスをリリヌスせずに車䞡を怜査するための新しい指瀺を迅速に远加するために、損傷ディレクトリの統合に取り組んでいたす。



たた、ファッションに負けおおり、怜査員が撮圱した䞍適切な写真を識別するために、埌凊理凊理にニュヌラルネットワヌクを䜿甚しお実隓しおいたす。もちろん、ニュヌラルネットワヌクの品質は向䞊したせんが、少なくずも次の時間に泚意を払うように、少なくずも焊点を远跡できなかった堎所を怜査員に遡及的に瀺すこずができたす。すぐに、人工知胜が怜査官に䜜曲の技術を教え始め、光で動䜜するようになりたす。



そしお、アプリケヌションを改善するための3番目の方向性特定のメヌカヌの特定のモデルの機胜ず欠点に関する知識ベヌスを䜜成しおいたす。たずえば、このモデルでは䜓のVINがそこにあり、そのような゚ンゞンを備えた別のモデルでは、䞀定の走行距離埌にバルブがノッキングを開始したす。3番目のモデルでは、トランクの蓋が垞に錆びたす。次に、そのようなデヌタセットが存圚する車を怜査する怜査官は、さたざたな段階で、泚意を払う必芁のある手がかりを受け取りたす。



そしお、Huaweiスマヌトフォンに切り替えおいたす。Sony Z3は䜿甚できなくなりたした。信頌性に関係なく、遅かれ早かれすべおが機胜しなくなりたす。そこで、レビュヌず野barなテストを読むこずを繰り返した埌、Huawei P10 Liteを遞択したした。



All Articles