アプリ開発の経緯

ベーシックの新卒は1ヶ月全体研修を受け、2ヶ月目からエンジニアと営業に分かれます。
エンジニアは1ヶ月間基礎的な研修(PHPなど)の後、1ヶ月かけて実際にモノを作る研修に入ります。

今年は新卒エンジニアが4人だったため、2人1組で開発を行いました。
特にどのようなモノを作るという指定もなく、ただ一つ出された条件は、 出来るだけ自分たちの使ったことのない技術を使う ということでした。

そこで、自分たちが考えやすいベーシック内の問題から仕組み化できる部分を考え、紙媒体で行われていた図書管理をシステム化し、

  1. ユーザが気軽に借りる・返すことができる
  2. 本の所在が分かる(誰が借りているのか・どの本棚か)
  3. 管理者の負担を軽減する

という3点を満たす図書管理アプリを開発することにしました。
#####その名も 『toshot』 さんです!

アプリについて

『toshot』はTitaniumで開発しiPhoneとAndroidに対応し、サーバサイドはPHPを使って開発しました。
#####『toshot』で実装した機能↓↓

◇ユーザ◇

  • 図書を借りる/返す
  • 新着図書の表示

◇図書管理者◇

  • 図書を登録/削除
  • 図書管理画面(※Webページ)

◇共通◇

  • 図書検索

基本的な流れは

カメラでバーコードからISBNを取得→DBまたはAPIを叩く→確認する→完了
※IBSN:本のバーコードの下に表記されている978から始まる数字

そのため、機能の要となったのは
#####『カメラでバーコードを読み取りISBNを取得する』
#####『AmazonAPIを用いた本の情報取得』
の2つでした。

カメラでバーコードを読み取りISBNを取得する

バーコードの読み取りはScanditから提供されているバーコードリーダーのモジュールを使用しました。
サンプルコードが提供されているので、それを参考にしてカメラ部分は完成。

と思ったのも束の間、メモリリークが頻繁に起きたので、HTTP通信、EventListener、画面遷移速度の見直しを行いました。詳細はQiitaにて。

AmazonAPIを用いた本の情報取得

PHPを使ってAmazonAPIを取得するために、様々なサイトを参考にしました。

まず、AmazonAPIへアクセスできるようにAPIKEYの取得と宣言を行いました。

※許可とかの関係でプログラム外で少し面倒がありました…

次に、ISBNと一致する本の情報として「タイトル・著者・画像・サイトURL」などを取得するために、amazonAPIの書籍情報から必要なモノを呼び出す事が少し大変でした。
特に、著者は複数の場合があったのですが、後半になってから気付き慌てて調べ、修正を行いました。
詳細はQiitaを見ていただければ嬉しいです。

また、管理をするために本をステータスを用いて管理するのですが、その設定に苦労しましが、1ヶ月で開発することができました。

おわりに

現在社内で使われている『toshot』ですが、機能を最低限に限定しているため、レビューや予約など要望が上がっている機能がまだまだあります。
#####今後のアップデートではそれらの機能を追加していく予定です。

入社して早くも半年が経とうとしていますが、既に実践投入されており、日々スピード感を持って過ごしています。
エンジニア間では月に何度か勉強会・座談会が開かれ、情報共有などの場が設けられることも。

また、全社的にインプット/アウトプットが盛んに行われており、エンジニアも例外ではなくベーシックのQiitaへの投稿も盛んに行われています!
またまた、エンジニア業務外では、新規サービスの話し合いや社内の採用イベントに参加などもしています!

新卒エンジニアの私たちがどんな事をしているのかを知りたければ、ぜひFacebookなどでコンタクトしてください!