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
firebaseを使って簡単にサイト作成!半年でそれっぽい クイズアプリを作成する!
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
YukiWatanabe
February 02, 2023
Programming
190
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
firebaseを使って簡単にサイト作成!半年でそれっぽい クイズアプリを作成する!
https://pwanight.connpass.com/event/194223/
で発表した資料です。
YukiWatanabe
February 02, 2023
More Decks by YukiWatanabe
See All by YukiWatanabe
Chrome拡張機能の新機能 Side Panel APIについて
yutaroud
0
2.1k
Other Decks in Programming
See All in Programming
S3 TablesのIcebergデータに、AIエージェントからアクセスしてみた / 20261016developersio2026joetsu-accessing-iceberg-in-s3tables-via-agent
kasacchiful
PRO
0
170
JIS keyboard support in Omarchy
lef237
0
130
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
1
180
ChromeでローカルLLM
ryu1013
0
140
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
440
Verilogで学ぶCPU自作入門
uyuki234
8
4.1k
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
260
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.9k
Domain-Driven Transformation
hschwentner
2
2.3k
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
35
17k
Event is what happens
moro
2
860
npm との違いを手がかりにGo の依存管理を理解したい
optim
0
800
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3.1k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.7k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
600
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
Unsuck your backbone
ammeep
672
58k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
550
Design in an AI World
tapps
1
350
Raft: Consensus for Rubyists
vanstee
142
7.8k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.2k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Transcript
2020/11/18 PWA Night vol.22 firebaseで簡単にサイトを作りましょう! 半年でそれっぽい クイズアプリを作成する
サービスの紹介 ◦クイズを作ったり、解いたりできる ◦何かを「学びたい」時に使ってもらう ▪繰り返し解いて学べる ▪問題を作ることで学びになる ここからアクセスできます 🙂
今日話すこと 機能紹介 • クイズ解答機能 • クイズ作成機能 • マイページ • メディア
システムの裏側 • こんな技術を使いました • 工夫した箇所 \こんなことを話します!/
MDNでは 安全なコンテキスト (HTTPS)、1つ以上のサービスワー カー、マニフェストファイルを持つ※1 みんなのスタディはサービスワーカーは使ってません。 (オフライン利用等できないのでご認識お願いします) ※1 https://developer.mozilla.org/ja/docs/Web/Progressive_web_apps 前置き PWAの定義(諸説あります)
01 機能紹介
機能紹介① クイズを解く
機能紹介② クイズを作る マイページ
機能紹介③ メディア
02 システムの裏側 Behind the system
サイト構成 route53 firestore firebase Auth firebase hosting cloud function react
サイト構成 route53 firestore firebase Auth firebase hosting cloud function react
OGP対応 OGPの例 Botによっては、jsを正しく解釈できない可能性があるので、 予めビルドしたものを解釈させる必要がある。
OGP対応 "hosting": { "public": "build", "rewrites": [ { "source": "/answer/**",
"function": "returnHtmlWithOGP" }, ~~~~~~ ], ~~~~~~~ } firebase.jsonに特定のリクエストのときだけ、 別途定義したfunctionを使うように指定するだけ!
サイト構成 route53 firestore firebase Auth firebase hosting cloud function react
持っているデータ クイズデータ ユーザデータ
クイズデータについて クイズデータ quiz: { categories: { label: “ビジネス” value: “business”
} userId: 1 creater: “なべ” title: “マーケ用語検定” description: “〜〜〜” content: { 0: { question: “CTAはなんの略” explanation: “マーケ用語で~~” answer: “Call to Action” false1: “~~~” false2: “~~~” } 1: {~~} } limited: false createdAt: xxxx/xx/xx updatedAt: xxxx/xx/xx }
なぜこんなデータ構成? 1書き込み、読み込みあたりに料金がかかるため
キャッシュもできます cloud function firebase hosting 予めfirestoreから データ取得 キャッシュした データから読み込み
使ってみてよかったこと • 環境構築がかなり楽、スピードは早い。 • 関連機能がかなりあるので、簡単なアプリ作成はかなり 楽
使ってみてつらかったこと • 従量課金のため、いつ課金されるかが怖い ◦ Alertの設定はマスト 無料プランもあるが、cloud functionsが使えない。 • インフラ側の細かいチューニングがやりづらい
Thanks ありがとうございました!