Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
蔵書管理アプリを作りました
Search
Tiny Mouse
December 13, 2019
Programming
0
660
蔵書管理アプリを作りました
浜松IT合同勉強会 2019/12/7
Mobile Act NAGOYA 2019/12/13
Tiny Mouse
December 13, 2019
Tweet
Share
More Decks by Tiny Mouse
See All by Tiny Mouse
今年がんばったこと
tinymouse
0
55
今年がんばったこと
tinymouse
0
110
【LT会】インプット・アウトプットどうしてる?
tinymouse
0
52
今年がんばったこと
tinymouse
0
180
.NET MAUI+Blazor を使ってみた
tinymouse
0
190
【LT会】この技術書がすごい
tinymouse
1
200
蔵書管理アプリを作り直した
tinymouse
1
1k
Windows アプリの開発手段の選択肢をまとめてみた
tinymouse
0
160
Google Apps Script アプリを配付する
tinymouse
0
130
Other Decks in Programming
See All in Programming
メッセージングを利用して時間的結合を分離しよう #phperkaigi
kajitack
3
320
Agentic AI: Evolution oder Revolution
mobilelarson
PRO
0
190
Kubernetesでセルフホストが簡単なNewSQLを求めて / Seeking a NewSQL Database That's Simple to Self-Host on Kubernetes
nnaka2992
0
180
車輪の再発明をしよう!PHP で実装して学ぶ、Web サーバーの仕組みと HTTP の正体
h1r0
2
380
Codex CLIのSubagentsによる並列API実装 / Parallel API Implementation with Codex CLI Subagents
takatty
2
390
クライアントワークでSREをするということ。あるいは事業会社におけるSREと同じこと・違うこと
nnaka2992
1
360
PHPのバージョンアップ時にも役立ったAST(2026年版)
matsuo_atsushi
0
240
SourceGeneratorのマーカー属性問題について
htkym
0
210
ポーリング処理廃止によるイベント駆動アーキテクチャへの移行
seitarof
3
1.3k
[PHPerKaigi 2026]PHPerKaigi2025の企画CodeGolfが最高すぎて社内で内製して半年運営して得た内製と運営の知見
ikezoemakoto
0
280
Cyrius ーLinux非依存にコンテナをネイティブ実行する専用OSー
n4mlz
0
240
Understanding Apache Lucene - More than just full-text search
spinscale
0
140
Featured
See All Featured
Practical Orchestrator
shlominoach
191
11k
Embracing the Ebb and Flow
colly
88
5k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
94
Everyday Curiosity
cassininazir
0
180
Bash Introduction
62gerente
615
210k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
91
The Invisible Side of Design
smashingmag
302
51k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
250
The Limits of Empathy - UXLibs8
cassininazir
1
270
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
390
Transcript
Tiny Mouse 蔵書管理アプリを作りました Mobile Act NAGOYA 2019/12/13
n @tinymouse_jp n SI 企業の SE n 日曜プログラマ n 二児の父
n 静岡県浜松市出身 n 東京都品川区在住。名古屋市在住。 n Windows 愛用。iPhone Android スマホ n Android の会浜松支部、よちよち Android の会、 Hamamatsu.js Tiny Mouse 自己紹介
蔵書のリストを作りたい l 置き場所(どの部屋かどの書棚か)記録し たい l 多量の蔵書を一気に登録したい(読んだ都 度でなく既存の蔵書を登録する) l スマホで入力してパソコンで管理したい
そんな蔵書管理ソフトが見つからない ないなら作るか 置き場所ごとに一気に登録できる スマホで入力してパソコンで管理できる
蔵書管理アプリを作る Google Spreadsheet データベースは・・
蔵書管理アプリを作る Google Apps Script バックエンドは・・
ISBN から書籍情報を取得する l 国立国会図書館のデータベースサービス →CD や DVD の情報が登録されていない l 楽天ブックスのデータベースサービス
→登録して API キーを貰う必要あり l Amazon の検索ページ →スクレイピングする。やりすぎるとブロックされる
サーバサイドに Google Apps Script を使う 「ウェブアプリケーションとして公開」 GET メソッド、POST メソッドを受けて JSON
などでレスポンスできる
蔵書管理アプリを作る HTML+JavaScript+Cordova フロントエンドは・・
蔵書管理アプリを作る Onsen UI+jQuery+Vue.js フロントエンドは・・
https://sites.google.com/view/tinymouse-zoshodaicho 蔵書管理アプリを作った
l 蔵書を楽に登録したい
バーコード表示を読んで登録する
バーコード表示がある とは限らない
手入力できる
ISBN コードを OCR できるようにする
Google Drive を使って OCR する navigator.camera.getPicture( function(image){ $.ajax({ url: “https://script.google.com/macros/s/◦◦◦◦◦◦◦◦/exec”,
type: 'POST', data: { filedata: image, }, }) function doPost(e) { var data = Utilities.base64Decode(e.parameter.filedata, Utilities.Charset.UTF_8); var title = Utilities.formatDate(new Date, 'Asia/Tokyo', 'yyyyMMddhhmmss'); var blob = Utilities.newBlob(data, MimeType.PNG, title); var folder = DriveApp.getFileById(ActiveSpreadsheet.getId()).getParents().next(); var file = Drive.Files.insert({ title: title + ".png", mimeType: 'image/png', parents: [{id: folder.getId()}] }, blob, { ocr: true, ocrLanguage: 'ja' }); var doc = DocumentApp.openById(file.getId()); var text = doc.getBody().getText();
l スマホアプリでも登録内容を見たい
スマホアプリでも登録内容を見たい
l スマホアプリでも登録内容を見たい l 蔵書を楽に登録したい
タブを使って画面を切替する UI
タブ切替は今風な UI でない?
FAB を使って新規登録する UI
手入力、バーコード読取した上で保存する
l 登録済の内容をスマホで修正したい
登録済の内容をスマホアプリで修正したい
l 置場を登録できるようにしたい
タグ情報を登録できるようにする 複数選択できるコンボボックス
複数選択できるコンボボックス
タグ一覧を登録できるようにする ドラッグ&ドロップで入替する
ドラッグ&ドロップで入替する
l 連続して登録できるようにしておきたい
連続して登録できるようにしておきたい
蔵書管理アプリを作った ちゃんとモバイルアプリを作ったよ!