# 研修で作成するサービスの要件 ## 1. 新製品のウェアラブルデバイス(眼鏡型)からデータをセンターに飛ばして活用したい ### 飛ばすデータ - 強い衝撃 - 虹彩認証(故障でなければ基本的には購入後1度のみで) - 現在の位置情報 - 残充電量(100%を基準に10%の増減に対してデータを飛ばす) - 充電開始・終了(開始・終了時の残充電量と日時と位置) - センターとのデータ連携を有効にしていた場合、映像・画像データのすべて ## 2. 製品が手元にない(置忘れ等)場合にユーザがスマホから諸々の操作が行いたい ### 対象操作 - アカウント登録 - スマホ連携の切断 - 過充電防止のための充電量操作 - 位置情報 - その場で見えているものの映像 - データロック&バックアップ - センターとのデータ連携設定 --- # サービスの簡単な仕様 ## デバイスからの自動送信データ - 自動で飛んでくるデータはバイナリ形式をgzip圧縮されたものがBase64エンコードされている - 虹彩認証時にデバイスIDとデバイスに紐づく固有情報(ユーザIDを含む)、及び虹彩情報を送信 - データが飛んできたときは必ずデバイスIDを確認してから処理を行う - センターはAWSを使用する - 以下アーキテクチャ - デバイスからHttp通信 - AmazonKinesisDataStreamでデータを格納(非同期処理) - KinesisからLambdaでデータを刈り取り - デバイスIDが正しいか否かをDynamoDBに問い合わせる - 存在するデバイスIDであればS3へデータを永続保存 - 虹彩認証時のみデバイスの素早いアクティベートが必要なため同期処理を行う - 以下アーキテクチャ - デバイスからHttp通信 - API Gateway を経由 - Lambdaで受け取る - 登録処理を行ってデバイスへレスポンス ## ユーザのスマホ操作 - データはすべてJson形式でやり取りする - 必ず処理の頭にDBよりユーザIDを元にデバイスIDとデバイス情報を取得する - デバイスに送信するリクエストはバイナリ形式をgzip圧縮したものとする - 以下アーキテクチャ - スマホからJson形式のHttpリクエスト - API Gateway を経由 - Lambdaで受け取る - ユーザIDでDynamoDBからデバイス情報を取得 - バイナリデータを作成しgzip圧縮 - デバイスへデータの送信 - スマホへレスポンス - 機能毎にAPIを作成すること - アカウント登録 - スマホ連携の切断 - 過充電防止のための充電量操作 - 位置情報 - その場で見えているものの映像 - データロック&バックアップ - センターとのデータ連携設定
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up