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
ゴミ分別Bot仕様書
Search
cureseven
January 14, 2018
Programming
1.3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ゴミ分別Bot仕様書
第3回オープンデータアプリコンテストに出展した「みんなで育てるゴミ分別案内ボット」の仕様書です.
cureseven
January 14, 2018
More Decks by cureseven
See All by cureseven
Gather × Code With Me × ペアプロのお誘い で最高です
cureseven
0
1.8k
BASEで初めて挑戦したこと
cureseven
0
2.1k
サーティ・サークルズ
cureseven
0
3.2k
みんなで育てるゴミ分別案内ボット
cureseven
1
1.3k
YCAMインターンシップ最終報告
cureseven
0
430
hiroshimaOSC.pdf
cureseven
0
900
Other Decks in Programming
See All in Programming
思考垂れ流し開発 ~音声入力 × AIエージェント × 開発ハーネスによる試行錯誤~
npostring
0
1k
LL言語やWebフレームワークのPostgreSQL対応 〜DBの機能がユーザーに届くまで〜
kentaroutakeda
0
150
Vibes Containers 〜AIで変わるコンテナ設計と運用〜
tkikuc
3
520
{ Android | Kotlin } Gradle Plugin in 2026
ryunen344
1
300
Gmail/Google DriveをトリガーにAIエージェントを動かそう! / Run AI agents with Gmail/Google Drive as triggers!
har1101
3
490
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
4
3.8k
kubernetes コンポーネント開発入門 / 新卒N年目の勉強会&交流会!〜〇〇への誘い〜 #n_study
mazrean
0
180
AWS Step Functions 大規模並列の壁を越える / jaws-sonic-2026-niigata-step-functions
kasacchiful
PRO
1
420
iOS開発×AI駆動開発 〜最近使って便利だったスキルの話〜
nogu66
0
140
DroidKaigi 2026 「個人開発という実験場: Android エンジニアが手にする4つの自由」
slashnephy
0
230
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
290
Claude Codeを組織的に動かして月400PRを実現した話
happy_ryo
0
260
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
880
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
600
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.7k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
Design in an AI World
tapps
1
310
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
650
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
440
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.8k
Transcript
ゴミ分別 LINE Bot 仕様書 2017/11/15
LINE BOT
このメッセージが送信されたら 現在の会話は破棄される LINE 返答パターン一覧 BOTメッセージ ユーザーメッセージ (挨拶メッセージ) システム操作 友達追加 【分別しらべたい】
【明日は何ゴミ?】 (その他のメッセージ) どんなものですか? CD 回答があるか Yes No CDは燃えないゴミです 地区が登録されているか Yes No 次の回収日は来週の 火曜日です 地区を登録すると 回収日をお知らせします CDは捨て方が 登録されていません 似た単語を入力して みてください 地区が登録されているか Yes No 地区が登録されて いません 【地区を登録・変更】 明日は燃えるゴミ・ 不燃ゴミの回収日です 【回収カレンダー】 以下の表の該当する数字 またはお住まいの住所を 送信してください (地区対応表) 正しい数値かどうか Yes No (5374風カレンダー) 正しい住所かどうか Yes No 常盤台で登録しました 宇部市常盤台 入力が無効でした 下のパネルを 押してください
LINE 分別方法検索のデータフロー BOTメッセージ ユーザーメッセージ バックエンド処理 【分別しらべたい】 API Server (Rails) どんなものですか?
データベース処理 メッセージ判定 CD メッセージ判定 分別方法問い合わせ 分別方法がある 分別方法がない 分別方法は〇〇 分別方法のなかった アイテムを登録 似たフレーズで 再度お試しください ステータスはそのまま ステータス更新 アイテムを登録 未回答アイテムを データベースに登録 分別方法取得 データベースから 分別方法を取得 解析に登録
Admin Dashboard
画面遷移なし 画面遷移なし 管理画面ルーティング 画面 モーダル ログイン ログイン ログアウトしますか? はい ホーム
新規関連付け 解析 登録内容一覧 ログアウト 新規関連付け 未回答の問合せリスト 関連付け 除外 関連付け 分別方法一覧 選択 分別方法追加 アイテムを除外 しますか? はい いいえ 関連付け処理 アイテム一覧 登録アイテムリスト 追加 修正 分別方法一覧 分別方法リスト 追加 修正 登録・更新処理
API 仕様
API仕様 必要なリクエストとレスポンス 必要なリクエストとレスポンス このサービスを実現するために必要なリクエストとそのレスポンスデータです リクエスト元 リクエスト状況 API URI レスポンス内容 備考
LINE Bot ユーザーから送信されたアイテムがどのような分別方法か GET: /trush/separation 《分別方法が登録されている場合》分別方法を返す 《除外されたアイテムの場合》エラーを返す 《分別方法が登録されていない場合》エラーを返す 存在しないアイテムだった場合、アイテムを登録 PUT: /trush 《成功した場合》Success 《失敗した場合》Failure ユーザーが地区を登録しているかどうか Boolean 指定されたゴミの回収日がいつか 《回収日が存在するゴミの場合》次の回収日を返す 《回収日が存在しないゴミの場合》エラーを返す 明日回収のゴミを取得する Array< 回収するゴミの名前 > 全てのゴミの次の回収日を取得 Array< 回収するゴミの名前 => 回収日 > 地区と数字の対応表を取得 Array< 数値 => 地区名 > ユーザーの地区を更新する 《更新に成功した場合》Success 《更新に失敗した場合》Failure 管理画面 未回答の問い合わせを問い合わせ件数が多い順でソートした一覧を取得 Array<> アイテムに分別方法を関連付けする POST: /trush 《成功した場合》Success 《失敗した場合》Failure アイテムを分別から無効化する PORT: /trush/invalidation 《成功した場合》Success 《失敗した場合》Failure 分別方法を新規に追加する PUT: /separation 《成功した場合》Success 《失敗した場合》Failure 分別方法を更新する PORT: /separation 《成功した場合》Success 《失敗した場合》Failure 分別方法をひとつにまとめる POST: /separation/merge 《成功した場合》Success 《失敗した場合》Failure アイテムを新規に追加する PUT: /trush 《成功した場合》Success 《失敗した場合》Failure アイテムを更新する POST: /trush 《成功した場合》Success 《失敗した場合》Failure アイテムを他のアイテムと紐付ける POST: /trush/tying 《成功した場合》Success 《失敗した場合》Failure
仕様書レイアウト一覧 改変禁止
見出し1 見出し2 スクリーン名 説明
一般利用者画面 画面詳細仕様 スクリーン名 説明 NO 項目名 要素の形式 説明 遷移先 バリデーション
表示条件 アクション
店舗管理画面 サンプル画面要素一覧 入力欄の説明 入力欄 ボタン ボタン ボタン セレクトボックス 選択ボックス 駐車場
さつき会駐車場 駐車区画 さ-10 備考 19:00〜予約あり テーブル ホーム 入庫 出庫 ポイントログ その他の機能 ログアウト ホーム 入庫 出庫