きっかけ
「本買っても、また同じ本買っちゃうんだよね!」という村田さんの一言から始まったプロジェクトとなります。
要件
- 本屋さんで本を探すのが好きなため、所持している本をWebでどこからでも参照可能
- 本が多いため、一冊一冊の処理はしなくない
検討言語
新しい技術を使いたいことと、業務系のシステムのバックグラウンドばかり構築しているため、HTML+JS+CSSの知識があまり無くても構築できる言語を検討しました。
「asp.net Core 3」で検証したのですが、HTMLの書き方が Core 2系とかなり異なっており(現時点で未実装?)、サンプルがかなり少なく、「asp.net Core 3」は断念しました。
ということで、「asp.net Core 2.2」に決定しました。
Pythonは、AIとの親和性抜群ですが、フレームワークの選択が出来ない(複数あるためどれが最適解か不明)・・・。どれが今回のサービスに最適化を検証できない。そんなに時間かけたくない。あとからAI部分のみをAPI化すればよいかと考え、除外。
Javaは、有償化の話があるため、除外。
「asp.net Core 2.2」で構築した感想
「asp.net Core 2.2」で良かったと考えております。
フレームワークは特にないため、選定する時間が不要。
プロジェクト作成時のウィザードの選択だけで、メールアドレスのユーザ認証機能まで自動で作ってくれる。
Microsoft製なのにCentOS 7.2で動くし、公式マニュアル、技術サンプルが豊富。
DB接続もEntityファイルからSQL(CRUD)作ってくれるため、SQLコーディングは不要
Microsoft Docs(テクニカル ドキュメント、API、コード サンプル)に、Cent OSへのリリース方法まで載せてくれてるもんだから、他の記事を見てわからなかったらDocsを見たりもしておりました。
サービス概要
アーキテクトは別途説明いたしますが、棚の写真をスマホから撮り、PCで本の認識させ、一覧化するというサービスです。
サービス連携
このサービスを構築するのに使用した外部サービスは以下の通り
サービス | 目的 |
---|---|
Amazon S3 | 画像データ保存(バックアップ用) |
Google Vision | 画像から文字列を認識 |
Google Books API | 文字から本を検索 |
新サービス「棚撮る = TanaToru」
こんな感じで新サービスを作ってみました。
完全無料となっておりますので、是非試してみてください。
対象は、小説、ビジネス書のような、背表紙で分かる本のみです。
コミックは、何度やっても文字として認識してくれない。。。あれはロゴだ。いい案求む。
将来的には、「本屋さんの棚卸しは写真取るだけ!」にしたいのですが、
流石に無理だとわかっているので、補正作業を外注したり、あるタイムスタンプで写真だけ撮っておき、
暇な時間にカウントしたりすることができると素敵だなぁと考えております。
まだまだ理想には程遠いですが、一旦リリースまでは出来ました。
【是非お試しください】※完全無料です
TanaToru -本棚管理サービス-
https://app.zero-one-system.co.jp/TanaToru/