kkkdev’s 開発 備忘録

残しておきたい開発情報を記録します。

バーコードを読み取ってカロリーを検索するアプリ(のソースコード)を公開

CalorieScanner_Client(iOSアプリ) github.com

CalorieScanner_Server(APIエンドポイント) github.com

クライアント(iOS)・サーバー(PHP)共に上記に公開しました。

概要

カメラで食品のバーコードをスキャンすると、カロリー情報を検索して候補を表示します。 Yahoo 商品検索API 他を利用しています。 *上記のAPIキー/アクセストークン等は、自身で発行・設定頂く必要があります。

手順

事前:APIエンドポイント・APIキー諸々の設定


手順1.「スキャン」タブでバーコードを読み取ります。(連続読み取り可)

f:id:kkkdev:20160822165256p:plain


手順2.「結果」タブを選択すると、APIに問い合わせが始まり、結果(商品候補)が返却されます。 (候補が複数ある場合は、infoマークが表示されます)

f:id:kkkdev:20160822165258p:plain


手順3.infoマークを押すと、候補から1つ選択ができます。

f:id:kkkdev:20160822165300p:plain

キーワード

Swift:RxSwift / SVProgressHUD / Alamofire / モナド(Optional)
PHP:Composer / Guzzle / Slim framework / レーベンシュタイン距離

ふりかえり

手元に買い込んだカロリーメイトフィットチーネグミは大丈夫でしたが、 やはり検索結果が存在しないものも多いです。

上記みたいなメジャーなお菓子は引っかかりやすいかも?

実際のエンドポイントもありますが、オープンには非公開です。 (エンドポイントを利用した場合、基本的には1時間で120回までの問い合わせ制限回数となります。 結果が返らなかった場合は時間をおいて再度アクセスしてみてください。 )

しかし、RxSwiftを利用しましたが、こういうアプリでバインディングを使うと 本当ラクでした。(データのことだけ考えればよい)

ソースの公開自体の経験がないので、(いろんな面で)どんどんブラッシュアップしていきたく思う所存です。 TravisとかTravisとか... (Fitbit API利用も、アプリとしてプラットフォームで公開する際は 利用者ごとにOAuth認証する必要があります)