Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
蔵書管理アプリを作りました
Search
Tiny Mouse
December 13, 2019
Programming
690
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
蔵書管理アプリを作りました
浜松IT合同勉強会 2019/12/7
Mobile Act NAGOYA 2019/12/13
Tiny Mouse
December 13, 2019
More Decks by Tiny Mouse
See All by Tiny Mouse
今年がんばったこと
tinymouse
0
93
今年がんばったこと
tinymouse
0
140
【LT会】インプット・アウトプットどうしてる?
tinymouse
0
71
今年がんばったこと
tinymouse
0
200
.NET MAUI+Blazor を使ってみた
tinymouse
0
220
【LT会】この技術書がすごい
tinymouse
1
220
蔵書管理アプリを作り直した
tinymouse
1
1.1k
Windows アプリの開発手段の選択肢をまとめてみた
tinymouse
0
190
Google Apps Script アプリを配付する
tinymouse
0
140
Other Decks in Programming
See All in Programming
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
390
Agents on Rails - Rails at Scale 2026
irinanazarova
0
250
Verilogで学ぶCPU自作入門.pdf
uyuki234
8
3.3k
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
670
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
190
Heart of Swift Concurrency
koher
0
970
Omarchy Tokyo やると聞いて UMPC 買ってセットアップしてきた
mtsmfm
0
160
WebMCP Challenge に星空観察アプリで参加した話
okajun35
0
190
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
440
Building an Out-of-Order CPU
latte72
1
800
TiDB Cloudのカスタムコントローラーによるオートスケール対応
takaidohigasi
0
130
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
260
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
240
The World Runs on Bad Software
bkeepers
PRO
72
12k
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
The Curse of the Amulet
leimatthew05
3
15k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
500
From π to Pie charts
rasagy
1
380
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
470
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
300
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
600
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 連続して登録できるようにしておきたい
連続して登録できるようにしておきたい
蔵書管理アプリを作った ちゃんとモバイルアプリを作ったよ!