SlideShare a Scribd company logo
Workshop "Building Modern Web Applications with Firebase (and Angular)",  Arman Murzabulatov
About me
• 15+ years in software
engineering
About me
• 15+ years in software
engineering
• Pascal -> C++ -> Java -> JS|TS
About me
• 15+ years in software
engineering
• Pascal -> C++ -> Java -> JS|TS
• ex-CTO SaaS startup
About me
• 15+ years in software
engineering
• Pascal -> C++ -> Java -> JS|TS
• ex-CTO SaaS startup
• 5 years in FinTech
(RBC, HSBC, Berenberg, Rabo)
About me
• 15+ years in software
engineering
• Pascal -> C++ -> Java -> JS|TS
• ex-CTO SaaS startup
• 5 years in FinTech
(RBC, HSBC, Berenberg, Rabo)
• ACM - semi
fi
nalist
About me
Scope
Serverless…
Scope
Serverless…
• Authentication
Scope
Serverless…
• Authentication
• Database and data storages
Scope
Serverless…
• Authentication
• Database and data storages
• APIs & TS/JS scripts on the cloud
Scope
Serverless…
• Authentication
• Database and data storages
• APIs & TS/JS scripts on the cloud
• Machine Learning
Scope
Serverless…
• Authentication
• Database and data storages
• APIs & TS/JS scripts on the cloud
• Machine Learning
• and more
Why Serverless Backend?
Challenges in Scaling and Maintaining
Dedicated Backend Infrastructure
Challenges in Scaling and Maintaining
Dedicated Backend Infrastructure
• Time-consuming
Challenges in Scaling and Maintaining
Dedicated Backend Infrastructure
• Time-consuming
• Resource-intensive
Challenges in Scaling and Maintaining
Dedicated Backend Infrastructure
• Time-consuming
• Resource-intensive
• High costs
Advantages of Serverless Backend Solutions
Advantages of Serverless Backend Solutions
• Cost-e
ff
ective
Advantages of Serverless Backend Solutions
• Cost-e
ff
ective
• Faster development
Advantages of Serverless Backend Solutions
• Cost-e
ff
ective
• Faster development
• Easy scalability
Advantages of Serverless Backend Solutions
• Cost-e
ff
ective
• Faster development
• Easy scalability
• Low maintenance
Ideal for
Ideal for
• Early-stage startups with dynamic products
Ideal for
• Early-stage startups with dynamic products
• Solo developers working on hobby projects
Ideal for
• Early-stage startups with dynamic products
• Solo developers working on hobby projects
• Mature teams working on proofs of concept
Firebase
Google's Serverless Backend Solution
Firebase
Google's Serverless Backend Solution
Firebase
Google's Serverless Backend Solution
Firebase
Google's Serverless Backend Solution
Firebase
Google's Serverless Backend Solution
Firebase
Google's Serverless Backend Solution
What is Firebase?
• A comprehensive app
development platform by Google
What is Firebase?
• A comprehensive app
development platform by Google
• Provides serverless backend
infrastructure
What is Firebase?
• A comprehensive app
development platform by Google
• Provides serverless backend
infrastructure
• O
ff
ers a suite of tools and
services for app development
What is Firebase?
Key Firebase Features
Key Firebase Features
Firebase Authentication
Key Firebase Features
Firebase Authentication
Realtime Database
Key Firebase Features
Firebase Authentication
Realtime Database
Firestore
Key Firebase Features
Firebase Authentication
Realtime Database
Firestore
Cloud Functions
Key Firebase Features
Firebase Authentication
Realtime Database
Firestore
Cloud Functions
Firebase ML
Key Firebase Features
Firebase Authentication
Realtime Database
Firestore
Cloud Functions
Firebase ML
and more…
Benefits of Using Firebase
Benefits of Using Firebase
• Simpli
fi
es backend development
Benefits of Using Firebase
• Simpli
fi
es backend development
• Speeds up app development and deployment
Benefits of Using Firebase
• Simpli
fi
es backend development
• Speeds up app development and deployment
• Easily integrates with popular frontend frameworks
Secure User Authentication
Firebase Authentication
Overview
Firebase Authentication
• A comprehensive authentication
solution
Overview
Firebase Authentication
• A comprehensive authentication
solution
• Supports multiple authentication
providers (e.g., email/password,
Google, Facebook, Twitter, etc.)
Overview
Firebase Authentication
• A comprehensive authentication
solution
• Supports multiple authentication
providers (e.g., email/password,
Google, Facebook, Twitter, etc.)
• Simpli
fi
es user management and
security
Overview
Setting Up Firebase Authentication
Setting Up Firebase Authentication
• Enable desired authentication providers in the Firebase Console
Setting Up Firebase Authentication
• Enable desired authentication providers in the Firebase Console
Setting Up Firebase Authentication
• Enable desired authentication providers in the Firebase Console
Setting Up Firebase Authentication
• Enable desired authentication providers in the Firebase Console
• Integrate Firebase SDK into your app
Setting Up Firebase Authentication
• Enable desired authentication providers in the Firebase Console
• Integrate Firebase SDK into your app
Setting Up Firebase Authentication
• Enable desired authentication providers in the Firebase Console
• Integrate Firebase SDK into your app
Setting Up Firebase Authentication
• Enable desired authentication providers in the Firebase Console
• Integrate Firebase SDK into your app
• Implement sign-in and sign-up
fl
ows
Setting Up Firebase Authentication
• Enable desired authentication providers in the Firebase Console
• Integrate Firebase SDK into your app
• Implement sign-in and sign-up
fl
ows
• Use built-in providers (Facebook, Twitter, GitHub, Google and etc.)
Setting Up Firebase Authentication
• Enable desired authentication providers in the Firebase Console
• Integrate Firebase SDK into your app
• Implement sign-in and sign-up
fl
ows
• Use built-in providers (Facebook, Twitter, GitHub, Google and etc.)
• Authenticate with Email/Password or Email link (passwordless sign-in)
Setting Up Firebase Authentication
• Enable desired authentication providers in the Firebase Console
• Integrate Firebase SDK into your app
• Implement sign-in and sign-up
fl
ows
• Use built-in providers (Facebook, Twitter, GitHub, Google and etc.)
• Authenticate with Email/Password or Email link (passwordless sign-in)
• built custom or use open source UI
Setting Up Firebase Authentication
• Enable desired authentication providers in the Firebase Console
• Integrate Firebase SDK into your app
• Implement sign-in and sign-up
fl
ows
• Use built-in providers (Facebook, Twitter, GitHub, Google and etc.)
• Authenticate with Email/Password or Email link (passwordless sign-in)
• built custom or use open source UI
• Framework utility libraries like https://github.com/angular/angular
fi
re
What happens when user sign-in
What happens when user sign-in
• Step 1: Information about the user is returned via callbacks.
What happens when user sign-in
• Step 1: Information about the user is returned via callbacks.
• Step 2: User information contains a unique ID
What happens when user sign-in
• Step 1: Information about the user is returned via callbacks.
• Step 2: User information contains a unique ID
• Step 3: Firebase will also manage your user session
What happens when user sign-in
• Step 1: Information about the user is returned via callbacks.
• Step 2: User information contains a unique ID
• Step 3: Firebase will also manage your user session
What happens when user sign-in
• Step 1: Information about the user is returned via callbacks.
• Step 2: User information contains a unique ID
• Step 3: Firebase will also manage your user session
• … so we can focus on your users and not the sign-in infrastructure.
Best Practices for Secure Authentication
Best Practices for Secure Authentication
• Use secure, up-to-date authentication libraries
Best Practices for Secure Authentication
• Use secure, up-to-date authentication libraries
• Implement multi-factor authentication (MFA) where possible
Best Practices for Secure Authentication
• Use secure, up-to-date authentication libraries
• Implement multi-factor authentication (MFA) where possible
• Regularly monitor and review user access logs
Choosing the Right Database
Realtime Database vs Firestore
Firebase
• A NoSQL, cloud-hosted database
Realtime Database
Firebase
• A NoSQL, cloud-hosted database
• Low-latency updates and presence
detection
Realtime Database
Firebase
• A NoSQL, cloud-hosted database
• Low-latency updates and presence
detection
• Real-time collaboration apps
Realtime Database
Firebase
• A NoSQL, cloud-hosted database
• Low-latency updates and presence
detection
• Real-time collaboration apps
• IoT devices
Realtime Database
Firebase
• A NoSQL, cloud-hosted database
• Low-latency updates and presence
detection
• Real-time collaboration apps
• IoT devices
• Gaming apps
Realtime Database
Firebase
• A NoSQL, cloud-hosted database
• Low-latency updates and presence
detection
• Real-time collaboration apps
• IoT devices
• Gaming apps
• Realtime data synchronization
Realtime Database
Firebase
• A NoSQL, cloud-hosted database
• Low-latency updates and presence
detection
• Real-time collaboration apps
• IoT devices
• Gaming apps
• Realtime data synchronization
• JSON data storage
Realtime Database
• A NoSQL, cloud-hosted database
Firestore
• A NoSQL, cloud-hosted database
• Realtime updates & o
ffl
ine support
Firestore
• A NoSQL, cloud-hosted database
• Realtime updates & o
ffl
ine support
• Advanced querying and indexing
Firestore
• A NoSQL, cloud-hosted database
• Realtime updates & o
ffl
ine support
• Advanced querying and indexing
• Documents and collections
Firestore
• A NoSQL, cloud-hosted database
• Realtime updates & o
ffl
ine support
• Advanced querying and indexing
• Documents and collections
• Large-scale apps
Firestore
• A NoSQL, cloud-hosted database
• Realtime updates & o
ffl
ine support
• Advanced querying and indexing
• Documents and collections
• Large-scale apps
• Complex data structures
Firestore
• A NoSQL, cloud-hosted database
• Realtime updates & o
ffl
ine support
• Advanced querying and indexing
• Documents and collections
• Large-scale apps
• Complex data structures
• Apps with multiple sub-collections
Firestore
Implementation in Angular
Step 1: Firebase SDK integration
Implementation in Angular
Step 1: Firebase SDK integration
• ng add @angular/
fi
re
Implementation in Angular
Step 1: Firebase SDK integration
• ng add @angular/
fi
re
• Add Firebase con
fi
g to environments variables
Implementation in Angular
Step 1: Firebase SDK integration
• ng add @angular/
fi
re
• Add Firebase con
fi
g to environments variables
• Con
fi
gure @NgModule for the AngularFireModule
Implementation in Angular
Step 2: Setting up and con
fi
guring databases
Implementation in Angular
Step 2: Setting up and con
fi
guring databases
• Enable desired database (Realtime Database or Firestore) in the Firebase
Console
Implementation in Angular
Step 2: Setting up and con
fi
guring databases
• Enable desired database (Realtime Database or Firestore) in the Firebase
Console
• De
fi
ne data models in your Angular app to represent your data structure
Implementation in Angular
Step 2: Setting up and con
fi
guring databases
• Enable desired database (Realtime Database or Firestore) in the Firebase
Console
• De
fi
ne data models in your Angular app to represent your data structure
• Create services to handle database operations (e.g., create, read, update,
delete)
Data Operations
Realtime Database
Data Operations
Realtime Database
• Imsport and inject AngularFireDatabase in your service
Data Operations
Realtime Database
• Imsport and inject AngularFireDatabase in your service
Data Operations
Realtime Database
• Imsport and inject AngularFireDatabase in your service
• Read data: this.db.object('/path/to/data').valueChanges()
Data Operations
Realtime Database
• Imsport and inject AngularFireDatabase in your service
• Read data: this.db.object('/path/to/data').valueChanges()
• Write data: this.db.object('/path/to/data').set(newData)
Data Operations
Realtime Database
• Imsport and inject AngularFireDatabase in your service
• Read data: this.db.object('/path/to/data').valueChanges()
• Write data: this.db.object('/path/to/data').set(newData)
• Update data: this.db.object('/path/to/data').update(updatedData)
Data Operations
Realtime Database
• Imsport and inject AngularFireDatabase in your service
• Read data: this.db.object('/path/to/data').valueChanges()
• Write data: this.db.object('/path/to/data').set(newData)
• Update data: this.db.object('/path/to/data').update(updatedData)
• Delete data: this.db.object('/path/to/data').remove()
Data Operations
Firestore
Data Operations
Firestore
• Import and inject AngularFirestore in your service
Data Operations
Firestore
• Import and inject AngularFirestore in your service
Data Operations
Firestore
• Import and inject AngularFirestore in your service
• Read data: this.afs.doc('/path/to/data').valueChanges()
Data Operations
Firestore
• Import and inject AngularFirestore in your service
• Read data: this.afs.doc('/path/to/data').valueChanges()
• Write data: this.afs.doc('/path/to/data').set(newData)
Data Operations
Firestore
• Import and inject AngularFirestore in your service
• Read data: this.afs.doc('/path/to/data').valueChanges()
• Write data: this.afs.doc('/path/to/data').set(newData)
• Update data: this.afs.doc('/path/to/data').update(updatedData)
Data Operations
Firestore
• Import and inject AngularFirestore in your service
• Read data: this.afs.doc('/path/to/data').valueChanges()
• Write data: this.afs.doc('/path/to/data').set(newData)
• Update data: this.afs.doc('/path/to/data').update(updatedData)
• Delete data: this.afs.doc('/path/to/data').delete()
Extend with Cloud Functions
What are Cloud Functions?
What are Cloud Functions?
• Serverless, event-driven functions
What are Cloud Functions?
• Serverless, event-driven functions
• Supports Node.js, Python, and Go
What are Cloud Functions?
• Serverless, event-driven functions
• Supports Node.js, Python, and Go
• Automatically scales with your app's usage
Benefits and Use Cases
Benefits and Use Cases
• Execute custom server-side logic without managing servers
Benefits and Use Cases
• Execute custom server-side logic without managing servers
• Perform data validation, data transformation, or data aggregation
Benefits and Use Cases
• Execute custom server-side logic without managing servers
• Perform data validation, data transformation, or data aggregation
• Respond to events from Firebase services (e.g., Firestore, Realtime Database,
Authentication)
Setting Up & Deploying
Cloud Functions
Setting Up & Deploying
Cloud Functions
• Install Firebase CLI
Setting Up & Deploying
Cloud Functions
• Install Firebase CLI
• Initialize Functions firebase init functions
Setting Up & Deploying
Cloud Functions
• Install Firebase CLI
• Initialize Functions firebase init functions
• Create Functions
Setting Up & Deploying
Cloud Functions
• Install Firebase CLI
• Initialize Functions firebase init functions
• Create Functions
• Deploy Functions firebase deploy --only functions
Setting Up & Deploying
Cloud Functions
• Install Firebase CLI
• Initialize Functions firebase init functions
• Create Functions
• Deploy Functions firebase deploy --only functions
• Monitor Functions
Calling Cloud Functions
Calling Cloud Functions
• Import
fi
rebase/app and
fi
rebase/functions packages in your frontend app
Calling Cloud Functions
• Import
fi
rebase/app and
fi
rebase/functions packages in your frontend app
• Initialize Firebase with your project con
fi
guration
Calling Cloud Functions
• Import
fi
rebase/app and
fi
rebase/functions packages in your frontend app
• Initialize Firebase with your project con
fi
guration
• Call Functions:
Use firebase.functions().httpsCallable('functionName') to create a
reference to the function, and call it with the call() method
Example in Node.js:
and calling it from Angular
Example in Node.js:
and calling it from Angular
const functions = require('firebase-functions');
exports.myFunction = functions.https.onCall((data, context) => {
// function body
});
Example in Node.js:
and calling it from Angular
const functions = require('firebase-functions');
exports.myFunction = functions.https.onCall((data, context) => {
// function body
});
import { AngularFireFunctions } from '@angular/fire/functions';
// ...
constructor(private fns: AngularFireFunctions) {}
// ...
const callable = this.fns.httpsCallable('myFunction');
callable({ /* data */ }).toPromise().then(console.log);
Exploring Additional Firebase
Capabilities
Firebase Extensions
Firebase Extensions
Chatbot with PaLM API
Latest extension
Chatbot with PaLM API
Latest extension
Chatbot with PaLM API
Latest extension
Chatbot with PaLM API
Latest extension
Chatbot with PaLM API
Latest extension
Bene
fi
ts
Firebase ML
Bene
fi
ts
• Leverage Google's machine
learning capabilities
Firebase ML
Bene
fi
ts
• Leverage Google's machine
learning capabilities
• Easy-to-use SDKs
Firebase ML
Bene
fi
ts
• Leverage Google's machine
learning capabilities
• Easy-to-use SDKs
• Pre-trained models for common
ML tasks
Firebase ML
Bene
fi
ts
• Leverage Google's machine
learning capabilities
• Easy-to-use SDKs
• Pre-trained models for common
ML tasks
• Custom model deployment and
hosting
Firebase ML
for Common ML Tasks
Pre-built APIs
for Common ML Tasks
• Image Labelling
Pre-built APIs
for Common ML Tasks
• Image Labelling
• Text Recognition
Pre-built APIs
for Common ML Tasks
• Image Labelling
• Text Recognition
• Object Detection and Tracking
Pre-built APIs
for Common ML Tasks
• Image Labelling
• Text Recognition
• Object Detection and Tracking
• Face Detection
Pre-built APIs
for Common ML Tasks
• Image Labelling
• Text Recognition
• Object Detection and Tracking
• Face Detection
• Barcode Scanning
Pre-built APIs
for Common ML Tasks
• Image Labelling
• Text Recognition
• Object Detection and Tracking
• Face Detection
• Barcode Scanning
• Landmark Recognition
Pre-built APIs
… Deployment and Hosting
Custom Model …
… Deployment and Hosting
• Train our own custom ML
models and deploy to Firebase
Custom Model …
… Deployment and Hosting
• Train our own custom ML
models and deploy to Firebase
• App downloads custom model
from Firebase and uses it
Custom Model …
… Deployment and Hosting
• Train our own custom ML
models and deploy to Firebase
• App downloads custom model
from Firebase and uses it
• Hosts and serves custom
models
Custom Model …
Other Firebase Features
Other Firebase Features
• Storage
Other Firebase Features
• Storage
• Analytics
Other Firebase Features
• Storage
• Analytics
• Hosting
Other Firebase Features
• Storage
• Analytics
• Hosting
• Remote Con
fi
g
Other Firebase Features
• Storage
• Analytics
• Hosting
• Remote Con
fi
g
• … and many more
Working with React, VueJS, and more
or cross-framework compatibility
Working with React, VueJS, and more
or cross-framework compatibility
• Most services are Framework Agnostic
Working with React, VueJS, and more
or cross-framework compatibility
• Most services are Framework Agnostic
• Firebase SDK is compatible with popular frontend frameworks
Working with React, VueJS, and more
or cross-framework compatibility
• Most services are Framework Agnostic
• Firebase SDK is compatible with popular frontend frameworks
• React: react-
fi
rebase, react-redux-
fi
rebase
Working with React, VueJS, and more
or cross-framework compatibility
• Most services are Framework Agnostic
• Firebase SDK is compatible with popular frontend frameworks
• React: react-
fi
rebase, react-redux-
fi
rebase
• VueJS: vue
fi
re, vuex
fi
re
Working with React, VueJS, and more
or cross-framework compatibility
• Most services are Framework Agnostic
• Firebase SDK is compatible with popular frontend frameworks
• React: react-
fi
rebase, react-redux-
fi
rebase
• VueJS: vue
fi
re, vuex
fi
re
• General resources: Firebase documentation, community examples, tutorials
Conclusion
Key Points
Key Points
• Firebase simpli
fi
es serverless backend development
Key Points
• Firebase simpli
fi
es serverless backend development
• Provides a suite of tools and services, such as Authentication, Realtime
Database, Firestore, Cloud Functions, and Firebase ML
Key Points
• Firebase simpli
fi
es serverless backend development
• Provides a suite of tools and services, such as Authentication, Realtime
Database, Firestore, Cloud Functions, and Firebase ML
• Compatible with popular frontend frameworks like Angular, React, and VueJS
What next
What next
• Leverage Firebase to build scalable, cost-e
ff
ective backend solutions for your
mobile or web apps
What next
• Leverage Firebase to build scalable, cost-e
ff
ective backend solutions for your
mobile or web apps
• Experiment with di
ff
erent Firebase features to
fi
nd the best combination for
your projects
Q&A
Thanks!

More Related Content

PDF
Why BaaS is crucial to early stage startups
PDF
Application Deployment at UC Riverside
PPTX
Azure functions
PPTX
Azure Functions Real World Examples
PPTX
Firebase Database 둘러보기
PPTX
Azure Functions 101
PPTX
#spsuk: Understanding the Office 365 Architecture
PPTX
The Power of Azure DevOps
Why BaaS is crucial to early stage startups
Application Deployment at UC Riverside
Azure functions
Azure Functions Real World Examples
Firebase Database 둘러보기
Azure Functions 101
#spsuk: Understanding the Office 365 Architecture
The Power of Azure DevOps

Similar to Workshop "Building Modern Web Applications with Firebase (and Angular)", Arman Murzabulatov (19)

PPTX
The Power of Azure DevOps
PPTX
Delivering Developer Tools at Scale
PDF
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
PDF
Github Copilot vs Amazon CodeWhisperer for Java developers at JCON 2023
PDF
DevSecCon Asia 2017 - Abhay Bhargav: Building an Application Vulnerability To...
PPTX
#ATAGTR2019 Presentation "Role of QA in world of DevOps" By Prashant Beniwal
PPTX
Global Azure Bootcamp Montreal 2017
PPTX
DotNet 2019 | Hugo Biarge - Autenticación en aplicaciones web y nativas
PDF
Firebase in action 2021
PPTX
Custom Development in SharePoint – What are my options now?
PPTX
Fire up your mobile app!
PDF
CI/CD Pipelines for Your Infrastructure...as Code!
PDF
Building A Product Assortment Recommendation Engine
PPTX
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
PPTX
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?
PDF
Building APIs in an easy way using API Platform
PDF
Introduction to Infrastructure as Code & Automation / Introduction to Chef
PPTX
Firebase Introduction
PPTX
Canada DevOps Summit 2020 Presentation Nov_03_2020
The Power of Azure DevOps
Delivering Developer Tools at Scale
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
Github Copilot vs Amazon CodeWhisperer for Java developers at JCON 2023
DevSecCon Asia 2017 - Abhay Bhargav: Building an Application Vulnerability To...
#ATAGTR2019 Presentation "Role of QA in world of DevOps" By Prashant Beniwal
Global Azure Bootcamp Montreal 2017
DotNet 2019 | Hugo Biarge - Autenticación en aplicaciones web y nativas
Firebase in action 2021
Custom Development in SharePoint – What are my options now?
Fire up your mobile app!
CI/CD Pipelines for Your Infrastructure...as Code!
Building A Product Assortment Recommendation Engine
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?
Building APIs in an easy way using API Platform
Introduction to Infrastructure as Code & Automation / Introduction to Chef
Firebase Introduction
Canada DevOps Summit 2020 Presentation Nov_03_2020
Ad

More from Fwdays (20)

PDF
"Mastering UI Complexity: State Machines and Reactive Patterns at Grammarly",...
PDF
"Effect, Fiber & Schema: tactical and technical characteristics of Effect.ts"...
PPTX
"Computer Use Agents: From SFT to Classic RL", Maksym Shamrai
PPTX
"Як ми переписали Сільпо на Angular", Євген Русаков
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
PDF
"Validation and Observability of AI Agents", Oleksandr Denisyuk
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
PPTX
"Co-Authoring with a Machine: What I Learned from Writing a Book on Generativ...
PPTX
"Human-AI Collaboration Models for Better Decisions, Faster Workflows, and Cr...
PDF
"AI is already here. What will happen to your team (and your role) tomorrow?"...
PPTX
"Is it worth investing in AI in 2025?", Alexander Sharko
PDF
''Taming Explosive Growth: Building Resilience in a Hyper-Scaled Financial Pl...
PDF
"Scaling in space and time with Temporal", Andriy Lupa.pdf
PDF
"Database isolation: how we deal with hundreds of direct connections to the d...
PDF
"Scaling in space and time with Temporal", Andriy Lupa .pdf
PPTX
"Provisioning via DOT-Chain: from catering to drone marketplaces", Volodymyr ...
PPTX
" Observability with Elasticsearch: Best Practices for High-Load Platform", A...
PPTX
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
PPTX
"Istio Ambient Mesh in production: our way from Sidecar to Sidecar-less",Hlib...
"Mastering UI Complexity: State Machines and Reactive Patterns at Grammarly",...
"Effect, Fiber & Schema: tactical and technical characteristics of Effect.ts"...
"Computer Use Agents: From SFT to Classic RL", Maksym Shamrai
"Як ми переписали Сільпо на Angular", Євген Русаков
"AI Transformation: Directions and Challenges", Pavlo Shaternik
"Validation and Observability of AI Agents", Oleksandr Denisyuk
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
"Co-Authoring with a Machine: What I Learned from Writing a Book on Generativ...
"Human-AI Collaboration Models for Better Decisions, Faster Workflows, and Cr...
"AI is already here. What will happen to your team (and your role) tomorrow?"...
"Is it worth investing in AI in 2025?", Alexander Sharko
''Taming Explosive Growth: Building Resilience in a Hyper-Scaled Financial Pl...
"Scaling in space and time with Temporal", Andriy Lupa.pdf
"Database isolation: how we deal with hundreds of direct connections to the d...
"Scaling in space and time with Temporal", Andriy Lupa .pdf
"Provisioning via DOT-Chain: from catering to drone marketplaces", Volodymyr ...
" Observability with Elasticsearch: Best Practices for High-Load Platform", A...
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
"Istio Ambient Mesh in production: our way from Sidecar to Sidecar-less",Hlib...
Ad

Recently uploaded (20)

PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Electronic commerce courselecture one. Pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
KodekX | Application Modernization Development
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
Spectroscopy.pptx food analysis technology
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Empathic Computing: Creating Shared Understanding
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Approach and Philosophy of On baking technology
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Machine learning based COVID-19 study performance prediction
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Electronic commerce courselecture one. Pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
KodekX | Application Modernization Development
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?
Spectroscopy.pptx food analysis technology
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Empathic Computing: Creating Shared Understanding
MYSQL Presentation for SQL database connectivity
Building Integrated photovoltaic BIPV_UPV.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Approach and Philosophy of On baking technology
sap open course for s4hana steps from ECC to s4
Review of recent advances in non-invasive hemoglobin estimation
Spectral efficient network and resource selection model in 5G networks
Machine learning based COVID-19 study performance prediction
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton

Workshop "Building Modern Web Applications with Firebase (and Angular)", Arman Murzabulatov

  • 3. • 15+ years in software engineering About me
  • 4. • 15+ years in software engineering • Pascal -> C++ -> Java -> JS|TS About me
  • 5. • 15+ years in software engineering • Pascal -> C++ -> Java -> JS|TS • ex-CTO SaaS startup About me
  • 6. • 15+ years in software engineering • Pascal -> C++ -> Java -> JS|TS • ex-CTO SaaS startup • 5 years in FinTech (RBC, HSBC, Berenberg, Rabo) About me
  • 7. • 15+ years in software engineering • Pascal -> C++ -> Java -> JS|TS • ex-CTO SaaS startup • 5 years in FinTech (RBC, HSBC, Berenberg, Rabo) • ACM - semi fi nalist About me
  • 11. Scope Serverless… • Authentication • Database and data storages • APIs & TS/JS scripts on the cloud
  • 12. Scope Serverless… • Authentication • Database and data storages • APIs & TS/JS scripts on the cloud • Machine Learning
  • 13. Scope Serverless… • Authentication • Database and data storages • APIs & TS/JS scripts on the cloud • Machine Learning • and more
  • 15. Challenges in Scaling and Maintaining Dedicated Backend Infrastructure
  • 16. Challenges in Scaling and Maintaining Dedicated Backend Infrastructure • Time-consuming
  • 17. Challenges in Scaling and Maintaining Dedicated Backend Infrastructure • Time-consuming • Resource-intensive
  • 18. Challenges in Scaling and Maintaining Dedicated Backend Infrastructure • Time-consuming • Resource-intensive • High costs
  • 19. Advantages of Serverless Backend Solutions
  • 20. Advantages of Serverless Backend Solutions • Cost-e ff ective
  • 21. Advantages of Serverless Backend Solutions • Cost-e ff ective • Faster development
  • 22. Advantages of Serverless Backend Solutions • Cost-e ff ective • Faster development • Easy scalability
  • 23. Advantages of Serverless Backend Solutions • Cost-e ff ective • Faster development • Easy scalability • Low maintenance
  • 25. Ideal for • Early-stage startups with dynamic products
  • 26. Ideal for • Early-stage startups with dynamic products • Solo developers working on hobby projects
  • 27. Ideal for • Early-stage startups with dynamic products • Solo developers working on hobby projects • Mature teams working on proofs of concept
  • 35. • A comprehensive app development platform by Google What is Firebase?
  • 36. • A comprehensive app development platform by Google • Provides serverless backend infrastructure What is Firebase?
  • 37. • A comprehensive app development platform by Google • Provides serverless backend infrastructure • O ff ers a suite of tools and services for app development What is Firebase?
  • 40. Key Firebase Features Firebase Authentication Realtime Database
  • 41. Key Firebase Features Firebase Authentication Realtime Database Firestore
  • 42. Key Firebase Features Firebase Authentication Realtime Database Firestore Cloud Functions
  • 43. Key Firebase Features Firebase Authentication Realtime Database Firestore Cloud Functions Firebase ML
  • 44. Key Firebase Features Firebase Authentication Realtime Database Firestore Cloud Functions Firebase ML and more…
  • 45. Benefits of Using Firebase
  • 46. Benefits of Using Firebase • Simpli fi es backend development
  • 47. Benefits of Using Firebase • Simpli fi es backend development • Speeds up app development and deployment
  • 48. Benefits of Using Firebase • Simpli fi es backend development • Speeds up app development and deployment • Easily integrates with popular frontend frameworks
  • 51. Firebase Authentication • A comprehensive authentication solution Overview
  • 52. Firebase Authentication • A comprehensive authentication solution • Supports multiple authentication providers (e.g., email/password, Google, Facebook, Twitter, etc.) Overview
  • 53. Firebase Authentication • A comprehensive authentication solution • Supports multiple authentication providers (e.g., email/password, Google, Facebook, Twitter, etc.) • Simpli fi es user management and security Overview
  • 54. Setting Up Firebase Authentication
  • 55. Setting Up Firebase Authentication • Enable desired authentication providers in the Firebase Console
  • 56. Setting Up Firebase Authentication • Enable desired authentication providers in the Firebase Console
  • 57. Setting Up Firebase Authentication • Enable desired authentication providers in the Firebase Console
  • 58. Setting Up Firebase Authentication • Enable desired authentication providers in the Firebase Console • Integrate Firebase SDK into your app
  • 59. Setting Up Firebase Authentication • Enable desired authentication providers in the Firebase Console • Integrate Firebase SDK into your app
  • 60. Setting Up Firebase Authentication • Enable desired authentication providers in the Firebase Console • Integrate Firebase SDK into your app
  • 61. Setting Up Firebase Authentication • Enable desired authentication providers in the Firebase Console • Integrate Firebase SDK into your app • Implement sign-in and sign-up fl ows
  • 62. Setting Up Firebase Authentication • Enable desired authentication providers in the Firebase Console • Integrate Firebase SDK into your app • Implement sign-in and sign-up fl ows • Use built-in providers (Facebook, Twitter, GitHub, Google and etc.)
  • 63. Setting Up Firebase Authentication • Enable desired authentication providers in the Firebase Console • Integrate Firebase SDK into your app • Implement sign-in and sign-up fl ows • Use built-in providers (Facebook, Twitter, GitHub, Google and etc.) • Authenticate with Email/Password or Email link (passwordless sign-in)
  • 64. Setting Up Firebase Authentication • Enable desired authentication providers in the Firebase Console • Integrate Firebase SDK into your app • Implement sign-in and sign-up fl ows • Use built-in providers (Facebook, Twitter, GitHub, Google and etc.) • Authenticate with Email/Password or Email link (passwordless sign-in) • built custom or use open source UI
  • 65. Setting Up Firebase Authentication • Enable desired authentication providers in the Firebase Console • Integrate Firebase SDK into your app • Implement sign-in and sign-up fl ows • Use built-in providers (Facebook, Twitter, GitHub, Google and etc.) • Authenticate with Email/Password or Email link (passwordless sign-in) • built custom or use open source UI • Framework utility libraries like https://github.com/angular/angular fi re
  • 66. What happens when user sign-in
  • 67. What happens when user sign-in • Step 1: Information about the user is returned via callbacks.
  • 68. What happens when user sign-in • Step 1: Information about the user is returned via callbacks. • Step 2: User information contains a unique ID
  • 69. What happens when user sign-in • Step 1: Information about the user is returned via callbacks. • Step 2: User information contains a unique ID • Step 3: Firebase will also manage your user session
  • 70. What happens when user sign-in • Step 1: Information about the user is returned via callbacks. • Step 2: User information contains a unique ID • Step 3: Firebase will also manage your user session
  • 71. What happens when user sign-in • Step 1: Information about the user is returned via callbacks. • Step 2: User information contains a unique ID • Step 3: Firebase will also manage your user session • … so we can focus on your users and not the sign-in infrastructure.
  • 72. Best Practices for Secure Authentication
  • 73. Best Practices for Secure Authentication • Use secure, up-to-date authentication libraries
  • 74. Best Practices for Secure Authentication • Use secure, up-to-date authentication libraries • Implement multi-factor authentication (MFA) where possible
  • 75. Best Practices for Secure Authentication • Use secure, up-to-date authentication libraries • Implement multi-factor authentication (MFA) where possible • Regularly monitor and review user access logs
  • 76. Choosing the Right Database
  • 77. Realtime Database vs Firestore
  • 78. Firebase • A NoSQL, cloud-hosted database Realtime Database
  • 79. Firebase • A NoSQL, cloud-hosted database • Low-latency updates and presence detection Realtime Database
  • 80. Firebase • A NoSQL, cloud-hosted database • Low-latency updates and presence detection • Real-time collaboration apps Realtime Database
  • 81. Firebase • A NoSQL, cloud-hosted database • Low-latency updates and presence detection • Real-time collaboration apps • IoT devices Realtime Database
  • 82. Firebase • A NoSQL, cloud-hosted database • Low-latency updates and presence detection • Real-time collaboration apps • IoT devices • Gaming apps Realtime Database
  • 83. Firebase • A NoSQL, cloud-hosted database • Low-latency updates and presence detection • Real-time collaboration apps • IoT devices • Gaming apps • Realtime data synchronization Realtime Database
  • 84. Firebase • A NoSQL, cloud-hosted database • Low-latency updates and presence detection • Real-time collaboration apps • IoT devices • Gaming apps • Realtime data synchronization • JSON data storage Realtime Database
  • 85. • A NoSQL, cloud-hosted database Firestore
  • 86. • A NoSQL, cloud-hosted database • Realtime updates & o ffl ine support Firestore
  • 87. • A NoSQL, cloud-hosted database • Realtime updates & o ffl ine support • Advanced querying and indexing Firestore
  • 88. • A NoSQL, cloud-hosted database • Realtime updates & o ffl ine support • Advanced querying and indexing • Documents and collections Firestore
  • 89. • A NoSQL, cloud-hosted database • Realtime updates & o ffl ine support • Advanced querying and indexing • Documents and collections • Large-scale apps Firestore
  • 90. • A NoSQL, cloud-hosted database • Realtime updates & o ffl ine support • Advanced querying and indexing • Documents and collections • Large-scale apps • Complex data structures Firestore
  • 91. • A NoSQL, cloud-hosted database • Realtime updates & o ffl ine support • Advanced querying and indexing • Documents and collections • Large-scale apps • Complex data structures • Apps with multiple sub-collections Firestore
  • 92. Implementation in Angular Step 1: Firebase SDK integration
  • 93. Implementation in Angular Step 1: Firebase SDK integration • ng add @angular/ fi re
  • 94. Implementation in Angular Step 1: Firebase SDK integration • ng add @angular/ fi re • Add Firebase con fi g to environments variables
  • 95. Implementation in Angular Step 1: Firebase SDK integration • ng add @angular/ fi re • Add Firebase con fi g to environments variables • Con fi gure @NgModule for the AngularFireModule
  • 96. Implementation in Angular Step 2: Setting up and con fi guring databases
  • 97. Implementation in Angular Step 2: Setting up and con fi guring databases • Enable desired database (Realtime Database or Firestore) in the Firebase Console
  • 98. Implementation in Angular Step 2: Setting up and con fi guring databases • Enable desired database (Realtime Database or Firestore) in the Firebase Console • De fi ne data models in your Angular app to represent your data structure
  • 99. Implementation in Angular Step 2: Setting up and con fi guring databases • Enable desired database (Realtime Database or Firestore) in the Firebase Console • De fi ne data models in your Angular app to represent your data structure • Create services to handle database operations (e.g., create, read, update, delete)
  • 101. Data Operations Realtime Database • Imsport and inject AngularFireDatabase in your service
  • 102. Data Operations Realtime Database • Imsport and inject AngularFireDatabase in your service
  • 103. Data Operations Realtime Database • Imsport and inject AngularFireDatabase in your service • Read data: this.db.object('/path/to/data').valueChanges()
  • 104. Data Operations Realtime Database • Imsport and inject AngularFireDatabase in your service • Read data: this.db.object('/path/to/data').valueChanges() • Write data: this.db.object('/path/to/data').set(newData)
  • 105. Data Operations Realtime Database • Imsport and inject AngularFireDatabase in your service • Read data: this.db.object('/path/to/data').valueChanges() • Write data: this.db.object('/path/to/data').set(newData) • Update data: this.db.object('/path/to/data').update(updatedData)
  • 106. Data Operations Realtime Database • Imsport and inject AngularFireDatabase in your service • Read data: this.db.object('/path/to/data').valueChanges() • Write data: this.db.object('/path/to/data').set(newData) • Update data: this.db.object('/path/to/data').update(updatedData) • Delete data: this.db.object('/path/to/data').remove()
  • 108. Data Operations Firestore • Import and inject AngularFirestore in your service
  • 109. Data Operations Firestore • Import and inject AngularFirestore in your service
  • 110. Data Operations Firestore • Import and inject AngularFirestore in your service • Read data: this.afs.doc('/path/to/data').valueChanges()
  • 111. Data Operations Firestore • Import and inject AngularFirestore in your service • Read data: this.afs.doc('/path/to/data').valueChanges() • Write data: this.afs.doc('/path/to/data').set(newData)
  • 112. Data Operations Firestore • Import and inject AngularFirestore in your service • Read data: this.afs.doc('/path/to/data').valueChanges() • Write data: this.afs.doc('/path/to/data').set(newData) • Update data: this.afs.doc('/path/to/data').update(updatedData)
  • 113. Data Operations Firestore • Import and inject AngularFirestore in your service • Read data: this.afs.doc('/path/to/data').valueChanges() • Write data: this.afs.doc('/path/to/data').set(newData) • Update data: this.afs.doc('/path/to/data').update(updatedData) • Delete data: this.afs.doc('/path/to/data').delete()
  • 114. Extend with Cloud Functions
  • 115. What are Cloud Functions?
  • 116. What are Cloud Functions? • Serverless, event-driven functions
  • 117. What are Cloud Functions? • Serverless, event-driven functions • Supports Node.js, Python, and Go
  • 118. What are Cloud Functions? • Serverless, event-driven functions • Supports Node.js, Python, and Go • Automatically scales with your app's usage
  • 120. Benefits and Use Cases • Execute custom server-side logic without managing servers
  • 121. Benefits and Use Cases • Execute custom server-side logic without managing servers • Perform data validation, data transformation, or data aggregation
  • 122. Benefits and Use Cases • Execute custom server-side logic without managing servers • Perform data validation, data transformation, or data aggregation • Respond to events from Firebase services (e.g., Firestore, Realtime Database, Authentication)
  • 123. Setting Up & Deploying Cloud Functions
  • 124. Setting Up & Deploying Cloud Functions • Install Firebase CLI
  • 125. Setting Up & Deploying Cloud Functions • Install Firebase CLI • Initialize Functions firebase init functions
  • 126. Setting Up & Deploying Cloud Functions • Install Firebase CLI • Initialize Functions firebase init functions • Create Functions
  • 127. Setting Up & Deploying Cloud Functions • Install Firebase CLI • Initialize Functions firebase init functions • Create Functions • Deploy Functions firebase deploy --only functions
  • 128. Setting Up & Deploying Cloud Functions • Install Firebase CLI • Initialize Functions firebase init functions • Create Functions • Deploy Functions firebase deploy --only functions • Monitor Functions
  • 130. Calling Cloud Functions • Import fi rebase/app and fi rebase/functions packages in your frontend app
  • 131. Calling Cloud Functions • Import fi rebase/app and fi rebase/functions packages in your frontend app • Initialize Firebase with your project con fi guration
  • 132. Calling Cloud Functions • Import fi rebase/app and fi rebase/functions packages in your frontend app • Initialize Firebase with your project con fi guration • Call Functions: Use firebase.functions().httpsCallable('functionName') to create a reference to the function, and call it with the call() method
  • 133. Example in Node.js: and calling it from Angular
  • 134. Example in Node.js: and calling it from Angular const functions = require('firebase-functions'); exports.myFunction = functions.https.onCall((data, context) => { // function body });
  • 135. Example in Node.js: and calling it from Angular const functions = require('firebase-functions'); exports.myFunction = functions.https.onCall((data, context) => { // function body }); import { AngularFireFunctions } from '@angular/fire/functions'; // ... constructor(private fns: AngularFireFunctions) {} // ... const callable = this.fns.httpsCallable('myFunction'); callable({ /* data */ }).toPromise().then(console.log);
  • 139. Chatbot with PaLM API Latest extension
  • 140. Chatbot with PaLM API Latest extension
  • 141. Chatbot with PaLM API Latest extension
  • 142. Chatbot with PaLM API Latest extension
  • 143. Chatbot with PaLM API Latest extension
  • 145. Bene fi ts • Leverage Google's machine learning capabilities Firebase ML
  • 146. Bene fi ts • Leverage Google's machine learning capabilities • Easy-to-use SDKs Firebase ML
  • 147. Bene fi ts • Leverage Google's machine learning capabilities • Easy-to-use SDKs • Pre-trained models for common ML tasks Firebase ML
  • 148. Bene fi ts • Leverage Google's machine learning capabilities • Easy-to-use SDKs • Pre-trained models for common ML tasks • Custom model deployment and hosting Firebase ML
  • 149. for Common ML Tasks Pre-built APIs
  • 150. for Common ML Tasks • Image Labelling Pre-built APIs
  • 151. for Common ML Tasks • Image Labelling • Text Recognition Pre-built APIs
  • 152. for Common ML Tasks • Image Labelling • Text Recognition • Object Detection and Tracking Pre-built APIs
  • 153. for Common ML Tasks • Image Labelling • Text Recognition • Object Detection and Tracking • Face Detection Pre-built APIs
  • 154. for Common ML Tasks • Image Labelling • Text Recognition • Object Detection and Tracking • Face Detection • Barcode Scanning Pre-built APIs
  • 155. for Common ML Tasks • Image Labelling • Text Recognition • Object Detection and Tracking • Face Detection • Barcode Scanning • Landmark Recognition Pre-built APIs
  • 156. … Deployment and Hosting Custom Model …
  • 157. … Deployment and Hosting • Train our own custom ML models and deploy to Firebase Custom Model …
  • 158. … Deployment and Hosting • Train our own custom ML models and deploy to Firebase • App downloads custom model from Firebase and uses it Custom Model …
  • 159. … Deployment and Hosting • Train our own custom ML models and deploy to Firebase • App downloads custom model from Firebase and uses it • Hosts and serves custom models Custom Model …
  • 162. Other Firebase Features • Storage • Analytics
  • 163. Other Firebase Features • Storage • Analytics • Hosting
  • 164. Other Firebase Features • Storage • Analytics • Hosting • Remote Con fi g
  • 165. Other Firebase Features • Storage • Analytics • Hosting • Remote Con fi g • … and many more
  • 166. Working with React, VueJS, and more or cross-framework compatibility
  • 167. Working with React, VueJS, and more or cross-framework compatibility • Most services are Framework Agnostic
  • 168. Working with React, VueJS, and more or cross-framework compatibility • Most services are Framework Agnostic • Firebase SDK is compatible with popular frontend frameworks
  • 169. Working with React, VueJS, and more or cross-framework compatibility • Most services are Framework Agnostic • Firebase SDK is compatible with popular frontend frameworks • React: react- fi rebase, react-redux- fi rebase
  • 170. Working with React, VueJS, and more or cross-framework compatibility • Most services are Framework Agnostic • Firebase SDK is compatible with popular frontend frameworks • React: react- fi rebase, react-redux- fi rebase • VueJS: vue fi re, vuex fi re
  • 171. Working with React, VueJS, and more or cross-framework compatibility • Most services are Framework Agnostic • Firebase SDK is compatible with popular frontend frameworks • React: react- fi rebase, react-redux- fi rebase • VueJS: vue fi re, vuex fi re • General resources: Firebase documentation, community examples, tutorials
  • 174. Key Points • Firebase simpli fi es serverless backend development
  • 175. Key Points • Firebase simpli fi es serverless backend development • Provides a suite of tools and services, such as Authentication, Realtime Database, Firestore, Cloud Functions, and Firebase ML
  • 176. Key Points • Firebase simpli fi es serverless backend development • Provides a suite of tools and services, such as Authentication, Realtime Database, Firestore, Cloud Functions, and Firebase ML • Compatible with popular frontend frameworks like Angular, React, and VueJS
  • 178. What next • Leverage Firebase to build scalable, cost-e ff ective backend solutions for your mobile or web apps
  • 179. What next • Leverage Firebase to build scalable, cost-e ff ective backend solutions for your mobile or web apps • Experiment with di ff erent Firebase features to fi nd the best combination for your projects