SlideShare a Scribd company logo
1 of 30
INTRODUCTION TO
FIREBASE
Mustafa ŞENEL
mustafa.senel@sony.com
Software Developer @ SONY GSI
AGENDA
 What is Firebase ?
 Use Case
 Realtime Database
 Data Modeling
 Security Rules
 Pricing
 Conclusion
2
WHAT IS FIREBASE?
«Firebase is a mobile and web application platform with tools and
infrastructure designed to help developers build high-quality
apps»*
3
*https://en.wikipedia.org/wiki/Firebase
WHAT IS FIREBASE?
 A set of tools which provides a full suite for app development
 Ability to create applications with no server-side programming
 Backend as a Service
4
HISTORY
 Founded in 2011 by Andrew Lee and James Tamplin
 Initial product was a realtime database
 Over time it becomes a full suite for app development
 Acquired by Google in 2014
5
WHAT IS FIREBASE?
6
*https://firebase.google.com/
USE CASE – MOBILE APP
Usually our architecture
7
DatabaseServer / REST APIDevices
*Icons made by Madebyoliver from www.flaticon.com
USE CASE – MOBILE APP
8
*Icons made by Madebyoliver from www.flaticon.com
Access via REST or SDK
FIREBASE REALTIME DATABASE
 Initial product and the heart of the Firebase platform
 After a database update, new data is synchronized across all
clients within milliseconds
 NoSQL Json Database
9
FIREBASE REST
10
 Firebase can be used as REST endpoint (append .json to the
URL)
 Usage of HTTP methods (GET, POST, PUT, PATCH, DELETE) as
usual
 Provides a set of Query parameters
FIREBASE SDK
11
SDK - READ DATA (ON – METHOD)
12
 Event based query system
 Provides different event types
 Listens for data changes at a particular location
 Callback triggered for the initial data and whenever the data
changes
SDK - READ EXAMPLES
13
SDK - READ DATA (OTHER METHODS)
14
 ’’once’’ Method
 Access like ’’on’’ method – but just one callback and not keep giving
updates
 ’’off’’ Method
 Detaches a callback previously attached with ’’on’’ method
SDK – WRITE DATA (PUSH METHOD)
15
 Most common pattern for adding data
 Generates a new child location and returns its Reference
 Uses a unique key based on current time
 Because of the unique key, data is chronologically inserted
SDK - WRITE DATA (OTHER METHODS)
16
 ’’set’’ Method
 Overwrites any data at given location and all child locations
 ’’update’’ Method
 Used to selectively update only the referenced properties at the given
location
SDK - WRITE EXAMPLES
17
SDK - WORKING OFFLINE
18
 Offline read and write data possible
 There are two offline modes
 Short term
 Local in-memory cache
 Long term
 Disk persistence Works on Android and IOS
USE CASE
 We are going to build a mobile application
 We have entities like User, Channel, Follower, ...
 One user can have many channels
 Each channel only belongs to one user
 One channel can have many followers
 Each follower can follow many channels
19
DATA MODELING - NESTED NODES
20
 Might be exactly what we need
 When we need channels always with full
follower information
 But
 Firebase is always loading all json
 There is no way to exclude properties
DATA MODELING - THE ELEGANT WAY
21
 Add indexes to resolve two-way
relationships
 Association properties of the
relationship could be saved as the
value of this node
DATA MODELING
 Keep in mind – It’s a JSON tree
 Avoid nesting data
 Flatten data structures
 Create data that scales
22
* https://firebase.google.com/docs/database/web/structure-data
SECURITY RULES
 Default rules are too open
 Access to everything even if signing in anonymously
 Mindfully data modeling is essential for real life rules
 Important rule types
 .read
 .write
 .validate
 .indexOn
23
SECURITY RULES - EXAMPLE
24
PRICING
25*https://firebase.google.com/pricing/ December, 2016
SOME FIREBASE CUSTOMERS
26
* https://firebase.google.com/customers
ALTERNATIVES
27
IN CONCLUSION
 Get fast in action
 Easy to use
 But sometimes we just need server-side code
 It is hosted
 Data needs to be well structured
28
LINKS
29
 https://gist.github.com/msenel/8b01bfca1490a490e2cc06a3bcb865ee#file-senel-bbs-
firebase-read-js
 https://gist.github.com/msenel/5e4179b2e78c20968b7102b2bc95f645#file-senel-
bbs-firebase-write-js
 https://firebase.google.com/docs/
 https://firebase.google.com/docs/database/web/structure-data
 https://www.youtube.com/user/Firebase
THANK YOU!

More Related Content

What's hot

Firebase on Android: The Big Picture
Firebase on Android: The Big PictureFirebase on Android: The Big Picture
Firebase on Android: The Big Picture
Sriyank Siddhartha
 

What's hot (20)

Firebase
FirebaseFirebase
Firebase
 
Introduction to Firebase with Android and Beyond...
Introduction to Firebase with Android and Beyond...Introduction to Firebase with Android and Beyond...
Introduction to Firebase with Android and Beyond...
 
Firebase on Android: The Big Picture
Firebase on Android: The Big PictureFirebase on Android: The Big Picture
Firebase on Android: The Big Picture
 
Firebase
FirebaseFirebase
Firebase
 
Firebase
Firebase Firebase
Firebase
 
Database, data storage, hosting with Firebase
Database, data storage, hosting with FirebaseDatabase, data storage, hosting with Firebase
Database, data storage, hosting with Firebase
 
Firebase Introduction
Firebase Introduction Firebase Introduction
Firebase Introduction
 
Introducing firebase
Introducing firebaseIntroducing firebase
Introducing firebase
 
Firebase slide
Firebase slideFirebase slide
Firebase slide
 
Firebase - A real-time server
Firebase - A real-time serverFirebase - A real-time server
Firebase - A real-time server
 
Retrofit
RetrofitRetrofit
Retrofit
 
Firebase in action 2021
Firebase in action 2021Firebase in action 2021
Firebase in action 2021
 
Progressive Web App
Progressive Web AppProgressive Web App
Progressive Web App
 
What is new in Firebase?
What is new in Firebase?What is new in Firebase?
What is new in Firebase?
 
Introduction to Progressive Web App
Introduction to Progressive Web AppIntroduction to Progressive Web App
Introduction to Progressive Web App
 
Pwa.pptx
Pwa.pptxPwa.pptx
Pwa.pptx
 
The Architecture of an API Platform
The Architecture of an API PlatformThe Architecture of an API Platform
The Architecture of an API Platform
 
What is REST API? REST API Concepts and Examples | Edureka
What is REST API? REST API Concepts and Examples | EdurekaWhat is REST API? REST API Concepts and Examples | Edureka
What is REST API? REST API Concepts and Examples | Edureka
 
Infrastructure as Code for Beginners
Infrastructure as Code for BeginnersInfrastructure as Code for Beginners
Infrastructure as Code for Beginners
 
Backend Programming
Backend ProgrammingBackend Programming
Backend Programming
 

Viewers also liked

3DTV Transmission Aspects
3DTV Transmission Aspects3DTV Transmission Aspects
3DTV Transmission Aspects
Raoni Lourenço
 
Engaging and sharing your VR experience
Engaging and sharing your VR experienceEngaging and sharing your VR experience
Engaging and sharing your VR experience
WithTheBest
 

Viewers also liked (20)

3D Video Processing - BBS
3D Video Processing - BBS3D Video Processing - BBS
3D Video Processing - BBS
 
Holography
HolographyHolography
Holography
 
3D HOLOGRAPHIC PROJECTION
3D HOLOGRAPHIC PROJECTION3D HOLOGRAPHIC PROJECTION
3D HOLOGRAPHIC PROJECTION
 
Discover Google Firebase Platform
Discover Google Firebase PlatformDiscover Google Firebase Platform
Discover Google Firebase Platform
 
Devfest SouthWest, Nigeria - Firebase
Devfest SouthWest, Nigeria - FirebaseDevfest SouthWest, Nigeria - Firebase
Devfest SouthWest, Nigeria - Firebase
 
Wordpress in action
Wordpress in actionWordpress in action
Wordpress in action
 
Introduction to Firebase
Introduction to FirebaseIntroduction to Firebase
Introduction to Firebase
 
Firebase Tech Talk By Atlogys
Firebase Tech Talk By AtlogysFirebase Tech Talk By Atlogys
Firebase Tech Talk By Atlogys
 
Atps demonstraçoes
Atps demonstraçoesAtps demonstraçoes
Atps demonstraçoes
 
3DTV Broadcasting
3DTV Broadcasting3DTV Broadcasting
3DTV Broadcasting
 
3DTV - Past, Present and Future
3DTV - Past, Present and Future3DTV - Past, Present and Future
3DTV - Past, Present and Future
 
Assessing 3DTV QoE and beyond a look on testing methodologies
Assessing 3DTV QoE and beyond a look on testing methodologiesAssessing 3DTV QoE and beyond a look on testing methodologies
Assessing 3DTV QoE and beyond a look on testing methodologies
 
A realtime infrastructure for Android apps: Firebase may be what you need..an...
A realtime infrastructure for Android apps: Firebase may be what you need..an...A realtime infrastructure for Android apps: Firebase may be what you need..an...
A realtime infrastructure for Android apps: Firebase may be what you need..an...
 
Holographic projections vaibhavp
Holographic projections vaibhavpHolographic projections vaibhavp
Holographic projections vaibhavp
 
Aman
AmanAman
Aman
 
Holography
HolographyHolography
Holography
 
3DTV Transmission Aspects
3DTV Transmission Aspects3DTV Transmission Aspects
3DTV Transmission Aspects
 
Engaging and sharing your VR experience
Engaging and sharing your VR experienceEngaging and sharing your VR experience
Engaging and sharing your VR experience
 
3d Video Conferencing: Opportunities and Pitfalls
3d Video Conferencing: Opportunities and Pitfalls3d Video Conferencing: Opportunities and Pitfalls
3d Video Conferencing: Opportunities and Pitfalls
 
3DTV state of the art
3DTV state of the art3DTV state of the art
3DTV state of the art
 

Similar to Introduction to Firebase

Securing Red Hat OpenShift Containerized Applications At Enterprise Scale
Securing Red Hat OpenShift Containerized Applications At Enterprise ScaleSecuring Red Hat OpenShift Containerized Applications At Enterprise Scale
Securing Red Hat OpenShift Containerized Applications At Enterprise Scale
DevOps.com
 
Osgis2011 edina addy_pope
Osgis2011 edina addy_popeOsgis2011 edina addy_pope
Osgis2011 edina addy_pope
Addy Pope
 
Connect ed2014 ad501_ibm worklight for ibm domino developers
Connect ed2014 ad501_ibm worklight for ibm domino developersConnect ed2014 ad501_ibm worklight for ibm domino developers
Connect ed2014 ad501_ibm worklight for ibm domino developers
a8us
 

Similar to Introduction to Firebase (20)

Introduction, Examples - Firebase
Introduction, Examples - Firebase Introduction, Examples - Firebase
Introduction, Examples - Firebase
 
Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...
Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...
Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...
 
Machine Data 101
Machine Data 101Machine Data 101
Machine Data 101
 
Plone FSR
Plone FSRPlone FSR
Plone FSR
 
WWW2014 Overview of W3C Linked Data Platform 20140410
WWW2014 Overview of W3C Linked Data Platform 20140410WWW2014 Overview of W3C Linked Data Platform 20140410
WWW2014 Overview of W3C Linked Data Platform 20140410
 
Webinar Industrial Data Space Association: Introduction and Architecture
Webinar Industrial Data Space Association: Introduction and ArchitectureWebinar Industrial Data Space Association: Introduction and Architecture
Webinar Industrial Data Space Association: Introduction and Architecture
 
Mobile web development
Mobile web developmentMobile web development
Mobile web development
 
Open Architecture in the Adobe Marketing Cloud - Summit 2014
Open Architecture in the Adobe Marketing Cloud - Summit 2014Open Architecture in the Adobe Marketing Cloud - Summit 2014
Open Architecture in the Adobe Marketing Cloud - Summit 2014
 
Cloudhub deployment
Cloudhub deploymentCloudhub deployment
Cloudhub deployment
 
BDE SC3.3 Workshop - BDE Platform: Technical overview
 BDE SC3.3 Workshop -  BDE Platform: Technical overview BDE SC3.3 Workshop -  BDE Platform: Technical overview
BDE SC3.3 Workshop - BDE Platform: Technical overview
 
JavaOne2013 Leveraging Linked Data and OSLC
JavaOne2013 Leveraging Linked Data and OSLCJavaOne2013 Leveraging Linked Data and OSLC
JavaOne2013 Leveraging Linked Data and OSLC
 
Integration intervention: Get your apps and data up to speed
Integration intervention: Get your apps and data up to speedIntegration intervention: Get your apps and data up to speed
Integration intervention: Get your apps and data up to speed
 
Node.CQ - Creating Real-time Data Mashups with Node.JS and Adobe CQ
Node.CQ - Creating Real-time Data Mashups with Node.JS and Adobe CQNode.CQ - Creating Real-time Data Mashups with Node.JS and Adobe CQ
Node.CQ - Creating Real-time Data Mashups with Node.JS and Adobe CQ
 
Group project home management system
Group project home management systemGroup project home management system
Group project home management system
 
(ISM319) What Drives the Need for Application-Defined Management
(ISM319) What Drives the Need for Application-Defined Management(ISM319) What Drives the Need for Application-Defined Management
(ISM319) What Drives the Need for Application-Defined Management
 
Securing Red Hat OpenShift Containerized Applications At Enterprise Scale
Securing Red Hat OpenShift Containerized Applications At Enterprise ScaleSecuring Red Hat OpenShift Containerized Applications At Enterprise Scale
Securing Red Hat OpenShift Containerized Applications At Enterprise Scale
 
Osgis2011 edina addy_pope
Osgis2011 edina addy_popeOsgis2011 edina addy_pope
Osgis2011 edina addy_pope
 
Osgis2011 edina addy_pope
Osgis2011 edina addy_popeOsgis2011 edina addy_pope
Osgis2011 edina addy_pope
 
Connect ed2014 ad501_ibm worklight for ibm domino developers
Connect ed2014 ad501_ibm worklight for ibm domino developersConnect ed2014 ad501_ibm worklight for ibm domino developers
Connect ed2014 ad501_ibm worklight for ibm domino developers
 
Using ap is to gather data
Using ap is to gather data Using ap is to gather data
Using ap is to gather data
 

Recently uploaded

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Recently uploaded (20)

Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 

Introduction to Firebase

  • 2. AGENDA  What is Firebase ?  Use Case  Realtime Database  Data Modeling  Security Rules  Pricing  Conclusion 2
  • 3. WHAT IS FIREBASE? «Firebase is a mobile and web application platform with tools and infrastructure designed to help developers build high-quality apps»* 3 *https://en.wikipedia.org/wiki/Firebase
  • 4. WHAT IS FIREBASE?  A set of tools which provides a full suite for app development  Ability to create applications with no server-side programming  Backend as a Service 4
  • 5. HISTORY  Founded in 2011 by Andrew Lee and James Tamplin  Initial product was a realtime database  Over time it becomes a full suite for app development  Acquired by Google in 2014 5
  • 7. USE CASE – MOBILE APP Usually our architecture 7 DatabaseServer / REST APIDevices *Icons made by Madebyoliver from www.flaticon.com
  • 8. USE CASE – MOBILE APP 8 *Icons made by Madebyoliver from www.flaticon.com Access via REST or SDK
  • 9. FIREBASE REALTIME DATABASE  Initial product and the heart of the Firebase platform  After a database update, new data is synchronized across all clients within milliseconds  NoSQL Json Database 9
  • 10. FIREBASE REST 10  Firebase can be used as REST endpoint (append .json to the URL)  Usage of HTTP methods (GET, POST, PUT, PATCH, DELETE) as usual  Provides a set of Query parameters
  • 12. SDK - READ DATA (ON – METHOD) 12  Event based query system  Provides different event types  Listens for data changes at a particular location  Callback triggered for the initial data and whenever the data changes
  • 13. SDK - READ EXAMPLES 13
  • 14. SDK - READ DATA (OTHER METHODS) 14  ’’once’’ Method  Access like ’’on’’ method – but just one callback and not keep giving updates  ’’off’’ Method  Detaches a callback previously attached with ’’on’’ method
  • 15. SDK – WRITE DATA (PUSH METHOD) 15  Most common pattern for adding data  Generates a new child location and returns its Reference  Uses a unique key based on current time  Because of the unique key, data is chronologically inserted
  • 16. SDK - WRITE DATA (OTHER METHODS) 16  ’’set’’ Method  Overwrites any data at given location and all child locations  ’’update’’ Method  Used to selectively update only the referenced properties at the given location
  • 17. SDK - WRITE EXAMPLES 17
  • 18. SDK - WORKING OFFLINE 18  Offline read and write data possible  There are two offline modes  Short term  Local in-memory cache  Long term  Disk persistence Works on Android and IOS
  • 19. USE CASE  We are going to build a mobile application  We have entities like User, Channel, Follower, ...  One user can have many channels  Each channel only belongs to one user  One channel can have many followers  Each follower can follow many channels 19
  • 20. DATA MODELING - NESTED NODES 20  Might be exactly what we need  When we need channels always with full follower information  But  Firebase is always loading all json  There is no way to exclude properties
  • 21. DATA MODELING - THE ELEGANT WAY 21  Add indexes to resolve two-way relationships  Association properties of the relationship could be saved as the value of this node
  • 22. DATA MODELING  Keep in mind – It’s a JSON tree  Avoid nesting data  Flatten data structures  Create data that scales 22 * https://firebase.google.com/docs/database/web/structure-data
  • 23. SECURITY RULES  Default rules are too open  Access to everything even if signing in anonymously  Mindfully data modeling is essential for real life rules  Important rule types  .read  .write  .validate  .indexOn 23
  • 24. SECURITY RULES - EXAMPLE 24
  • 26. SOME FIREBASE CUSTOMERS 26 * https://firebase.google.com/customers
  • 28. IN CONCLUSION  Get fast in action  Easy to use  But sometimes we just need server-side code  It is hosted  Data needs to be well structured 28
  • 29. LINKS 29  https://gist.github.com/msenel/8b01bfca1490a490e2cc06a3bcb865ee#file-senel-bbs- firebase-read-js  https://gist.github.com/msenel/5e4179b2e78c20968b7102b2bc95f645#file-senel- bbs-firebase-write-js  https://firebase.google.com/docs/  https://firebase.google.com/docs/database/web/structure-data  https://www.youtube.com/user/Firebase