More Related Content
Similar to SCK Firestore at CNX (20)
More from Somkiat Puisungnoen (19)
SCK Firestore at CNX
- 1. © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
Cloud Firestore
for XXX application
October 27, 2017
Firebase meet up
Chiangmai 2017
- 2. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 2
- 3. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 3
- 4. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 4
- 5. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 5
Beta release !!
- 6. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 6
Cloud Firestore
- 7. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 7
Basic of Firestore
New document database for app
developers
- 8. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 8
RDBMS vs Document
- 9. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 9
RDBMS vs Document
- 10. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 10
RDBMS vs Document
- 11. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 11
Basic of Firestore
New document database for app
developers
For mobile and web development
- 12. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 12
Basic of Firestore
New document database for app
developers
For mobile and web development
Easily and sync at the global scale
- 13. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 13
Key features
- 14. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 14
Key features
Documents and collections with powerful
querying
- 15. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 15
Key features
Documents and collections with powerful
querying
Offline data access (mobile and web)
- 16. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 16
Key features
Documents and collections with powerful
querying
Realtime data sync
Offline data access (mobile and web)
- 17. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 17
Key features
Documents and collections with powerful
querying
Realtime data sync
Automatic, multi-region replication
Offline data access (mobile and web)
- 18. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 18
Key features
Documents and collections with powerful
querying
Offline data access (mobile and web)
Realtime data sync
Automatic, multi-region replication
Node, Python, Go, Java
- 19. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 19
Key features
Integrate with Firebase Platform
- 20. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 20
Key features
Integrate with Firebase Platform
Cloud Function and Firebase Authentication
- 21. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 21
Replacing
Firebase Realtime Database ?
- 22. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 22
No
- 23. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 23
Usecase !!
- 24. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 24
What’s different with
Cloud Firestore ?
https://firebase.google.com/docs/firestore/rtdb-vs-firestore
- 25. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 25
Better query and more data
structure
- 26. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 26
Collections
- 27. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 27
Subcollections
- 28. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 28
All queries are shadow
- 29. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 29
Automatic build an index
- 30. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 30
Make easy to search across
multiple field
- 31. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 31
Queries scale to the size of your
result set
(not the size of your data)
- 32. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 32
Pricing model !!
- 33. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 33
Realtime database based on
size of data
- 34. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 34
Cloud Firestore based on
the number of reads or writes
- 35. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 35
What’s your use case ?
- 36. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 36
Use both database together
- 37. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 37
Create my Collection
- 38. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 38
https://www.facebook.com/pg/namtonshousebar
- 39. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 39
Beer Document
- 40. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 40
Let’s start at Firebase console
- 41. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 41
- 42. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 42
Beer Collection
- 43. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 43
First document with Go To IPA
- 44. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 44
Result
- 45. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 45
My Beer Application
- 46. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 46
$firebase init
$npm install -g firebase-tools
- 47. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 47
$firebase open auth
- 48. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 48
- 49. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 49
- 50. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 50
Add Firebase to app
- 51. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 51
- 52. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 52
For web app
- 53. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 53
Manage security rules
- 54. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 54
Manage security rules
Everyone can read and write !!
- 55. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 55
- 56. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 56
Need to update the security rules
- 57. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 57
$firebase deploy --only firestore:rules
- 58. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 58
$firebase deploy --only firestore:rules
- 59. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 59
Manage security rules
- 60. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 60
Add new beer
- 61. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 61
Add new beer without brewer
- 62. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 62
Add new beer without brewer
const db = firebase.firestore();
const beer = {
beerName: this.state.beerName,
alcohol: this.state.alcohol,
price: this.state.price
}
db.collection(“beer").add(beer)
- 63. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 63
View data in Firebase console
- 64. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 64
Read all beer
- 65. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 65
Read all beer
- 66. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 66
Read all beer
let allBeer = []
const db = firebase.firestore()
db.collection("beer").get()
.then((querySnapshot) => {
querySnapshot.forEach((doc) => {
allBeer.push(doc.data())
})
})
- 67. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 67
Read beer by ID
let allBeer = []
const db = firebase.firestore()
db.collection(“beer").doc("ID")get()
.then((querySnapshot) => {
})
- 68. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 68
Delete beer by ID
- 69. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 69
Delete beer by ID
- 70. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 70
Delete beer by ID
const db = firebase.firestore()
db.collection("beer").doc(`${beerId}`).delete()
.then(function() {
console.log(`${beerId}`)
}).catch(function(error) {
console.error(error);
});
- 71. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 71
We need more features
- 72. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 72
Ordering data
- 73. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 73
Order by name
- 74. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 74
Order by name
const db = firebase.firestore()
db.collection("beer")
.orderBy('beerName', 'desc').get()
.then((querySnapshot) => {
})
- 75. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 75
Order by name and price
const db = firebase.firestore()
db.collection("beer")
.orderBy('beerName', 'desc')
.orderBy('price', 'asc').get()
- 76. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 76
Error !!
Need to add a index !!
- 77. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 77
Add new index
- 78. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 78
Add new index
- 79. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 79
Order by name and price
- 80. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 80
Limit number of data
const db = firebase.firestore()
db.collection("beer")
.orderBy('beerName', 'desc')
.orderBy('price', 'asc').limit(2).get()
- 81. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 81
Filter data by conditions
- 82. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 82
Filter data with where()
- 83. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 83
Filter data with where()
const db = firebase.firestore();
db.collection(“beer")
.where("beerName", "==", this.state.searchWord)
.get()
.then((querySnapshot) => {
querySnapshot.forEach((doc) => {
allBeer.push(doc)
})
})
- 84. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 84
Full text search
- 85. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 85
(Cloud Firestore not support !!)
Full text search
- 86. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 86
(need 3-party library)
Full text search
- 87. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 87
Structure of data
- 88. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 88
Structure of data
Nested data in documents
Subcollections
Root-level collections
https://cloud.google.com/firestore/docs/concepts/structure-data
- 89. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 89
Nested data in document
- 90. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 90
Subcollections
- 91. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 91
Root-level collections
- 92. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 92
Let’ s design your data model
(most important)
- 93. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 93
- 94. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 94
Add brewer in each beer
- 95. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 95
Working with Subcollection
- 96. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 96
Working with Subcollection
//1. Create beer document
const beer = {
beerName: this.state.beerName,
alcohol: this.state.alcohol,
price: this.state.price
}
db.collection("beer").add(beer)
.then(function(beerDocument) {
//2. Add brewer to beer
const mockBrewery = [
{ name: "Stone" },
{ name: "Thai Local"}
]
beerDocument.collection("brewery")
.add(mockBrewery[id])
- 97. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 97
Working with Subcollection
- 98. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 98
Working with Subcollection
- 99. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 99
And more …
- 100. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 100
Secure data
Working with Cloud Function
Working with Transaction & Batching
Sync data
Offline mode
- 101. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 101
- 102. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 102
Resources
- 103. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 103
Demo
https://github.com/up1/demo-cloud-firestore
- 104. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 104
Resources
https://codelabs.developers.google.com/
codelabs/firestore-web
https://cloud.google.com/firestore
https://codelabs.developers.google.com/
codelabs/firestore-android/
- 105. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 105
- 106. Firebase meet up Chiangmai 2017
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 106
- 107. © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. 107