SlideShare a Scribd company logo
1 of 28
Download to read offline
Node.js Firebase
Jul 23, 2023
Node.js
Hello!
Brion Silva
Associate Technical Lead
brion@wso2.com
What is 🤔
4
RUNTIME
5
Created by RYAN DAHL in 2009
Allows to execute Javascript outside the
browser
Enables developers to write a full stack
application in JavaScript
Uses an event-driven, non-blocking I/O event
loop for handling concurrent requests.
Comes with a built in package manager.
Built on top of Chrome V8 Engine
Open Source & Cross Platform Fast & Efficient
󰞐 Source : https://github.com/nodejs/node
⬇ Download: https://nodejs.org/en/download/current
What’s
What is npm?
● npm is Node.js's package manager.
● It manages dependencies in Node.js projects.
● Developers can install open-source packages with ease.
● npm simplifies adding functionality to Node.js apps.
● It ensures version control for package consistency.
7
What’s Event Loop?
What is Event Loop?
9
1st PRIORITY - Call Stack
➡ Handles Synchronous Code
2nd PRIORITY - MICROTASK QUEUE
➡ Handles Promises and Microtasks
3rd PRIORITY - TASK QUEUE
➡ Handles Callbacks (From DOM
APIs, I/O operations, Timers, etc.)
RESTful API Development with Node.js
What is a RESTful API?
11
API: Application Programming Interface
REST: Representational State Transfer
✅ STANDARDIZED
✅ STATELESS
✅ PERFORMANT
REQUEST vs RESPONSE
12
HTTP Methods
13
CREATE
READ
UPDATE
DELETE
POST
GET
PUT
DELETE
14
Demo
15
Scenario Overview
IDEALIZE
API
Base URL: http://localhost:3000
Endpoints:
http://localhost:3000/authors
http://localhost:3000/sessions
The API should be able to provide the organizing
committee to manage and organize the sessions
organized as prerequisites for IDEALIZE 2023.
Requirements:
⭐ Should be able to fetch, add, update & delete authors.
⭐ Should be able to fetch, add, update & delete sessions.
⭐ Add, update & delete should be protected.
Supporting Software
16
Package Manager - npm
Web Framework - Express.js
Database System - Firestore
REST Client - Postman
💡Can also use yarn or pnpm as well.
💡Can also use Nest, Sails, Koa, etc.
💡Can also use MySQL, MongoDB, etc.
💡Can also use Insomnia, curl, etc.
17
🚀 Minimal API: index.js ↗
Structuring the API
Controllers
Modules or functions that handle the business
logic for specific API endpoints.
Routes
HTTP methods that clients can use to interact
with the API.
Middleware
Functions that have access to the request and
response objects and can perform additional
processing before the final request handler
Folder Structure
18
󰞐 Code up to now: source ↗
Firebase
Hello!
Omal Wijegunawardana
Senior Software Engineer
omal@wso2.com
What’s
What is Firebase?
● Firebase in NOT a database.
● A collection of backend cloud computing services by Google.
● There is a free tier to try out things.
● It offers following services (and more)
⦿ Databases
⦿ Authentication
⦿ Storage
⦿ Hosting
⦿ Compute units
⦿ Analytics
22
What’s
What is Cloud Firestore?
● NoSQL cloud database
● Collection/Document structure of data
● Store data in flexible, hierarchical data structures
● Integrate with web or mobile technologies with provided SDKs
● Realtime updates
● Offline support
● Scales automatically
24
25
Demo
26
What’s next?
● Use an IDaaS like Asgardeo to Authorize users accessing your API.
⦿ https://wso2.com/asgardeo
● Consuming configurations from .env files.
⦿ Do not push the original file to the repository.
⦿ Push a .env.sample file with placeholders.
● Use a logger for logging in useful actions that’ll come in handy for debugging.
⦿ https://www.npmjs.com/package/winston
● You may have to use additional tools.
⦿ `cors`
⦾ Handle cross origin requests when embedding the API in to a web application.
⦿ `dotenv`
⦾ Read environment variables from .env files.
Question Time!
wso2.com
Thanks!

More Related Content

Similar to IDEALIZE 2023 - NodeJS & Firebase Session

Building a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixBuilding a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixAll Things Open
 
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud EnvironmentsTools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud EnvironmentsVMware Tanzu
 
What is Google Cloud Platform - GDG DevFest 18 Depok
What is Google Cloud Platform - GDG DevFest 18 DepokWhat is Google Cloud Platform - GDG DevFest 18 Depok
What is Google Cloud Platform - GDG DevFest 18 DepokImre Nagi
 
Wie macht man aus Software einen Online-Service in der Cloud
Wie macht man aus Software einen Online-Service in der CloudWie macht man aus Software einen Online-Service in der Cloud
Wie macht man aus Software einen Online-Service in der CloudAarno Aukia
 
Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Microsoft
 
Top 13 Backend Frameworks for Web development in 2024
Top 13 Backend Frameworks for Web development in 2024Top 13 Backend Frameworks for Web development in 2024
Top 13 Backend Frameworks for Web development in 2024Clarion Technologies
 
Top 11 Front-End Web Development Tools To Consider in 2020
 Top 11 Front-End Web Development Tools To Consider in 2020 Top 11 Front-End Web Development Tools To Consider in 2020
Top 11 Front-End Web Development Tools To Consider in 2020Katy Slemon
 
InterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloud
InterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloudInterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloud
InterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloudiMasters
 
Important Backend Frameworks To Remember For Businesses In 2023
Important Backend Frameworks To Remember For Businesses In 2023Important Backend Frameworks To Remember For Businesses In 2023
Important Backend Frameworks To Remember For Businesses In 2023Netizens Technologies
 
Industrial Training.pptx
Industrial Training.pptxIndustrial Training.pptx
Industrial Training.pptxSamraatBansal1
 
Understanding Node.js and Django.docx
Understanding Node.js and Django.docxUnderstanding Node.js and Django.docx
Understanding Node.js and Django.docxSavior_Marketing
 
Red Hat Java Update and Quarkus Introduction
Red Hat Java Update and Quarkus IntroductionRed Hat Java Update and Quarkus Introduction
Red Hat Java Update and Quarkus IntroductionJohn Archer
 
Exploring Next Generation Buildpacks - Anand Rao & Scott Deeg
Exploring Next Generation Buildpacks - Anand Rao & Scott DeegExploring Next Generation Buildpacks - Anand Rao & Scott Deeg
Exploring Next Generation Buildpacks - Anand Rao & Scott DeegVMware Tanzu
 
Ultimate Guide to Microservice Architecture on Kubernetes
Ultimate Guide to Microservice Architecture on KubernetesUltimate Guide to Microservice Architecture on Kubernetes
Ultimate Guide to Microservice Architecture on Kuberneteskloia
 
Nodejs framework for app development.pdf
Nodejs framework for app development.pdfNodejs framework for app development.pdf
Nodejs framework for app development.pdfSufalam Technologies
 
Joseph Ardolino CV (1)
Joseph Ardolino CV (1)Joseph Ardolino CV (1)
Joseph Ardolino CV (1)Joe Ardolino
 
Mastinder singh visualcv_resume
Mastinder singh visualcv_resumeMastinder singh visualcv_resume
Mastinder singh visualcv_resumeMastinder Singh
 

Similar to IDEALIZE 2023 - NodeJS & Firebase Session (20)

Building a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixBuilding a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at Netflix
 
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud EnvironmentsTools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
 
What is Google Cloud Platform - GDG DevFest 18 Depok
What is Google Cloud Platform - GDG DevFest 18 DepokWhat is Google Cloud Platform - GDG DevFest 18 Depok
What is Google Cloud Platform - GDG DevFest 18 Depok
 
Wie macht man aus Software einen Online-Service in der Cloud
Wie macht man aus Software einen Online-Service in der CloudWie macht man aus Software einen Online-Service in der Cloud
Wie macht man aus Software einen Online-Service in der Cloud
 
Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015
 
Top 13 Backend Frameworks for Web development in 2024
Top 13 Backend Frameworks for Web development in 2024Top 13 Backend Frameworks for Web development in 2024
Top 13 Backend Frameworks for Web development in 2024
 
Gdsc muk - innocent
Gdsc   muk - innocentGdsc   muk - innocent
Gdsc muk - innocent
 
Top 11 Front-End Web Development Tools To Consider in 2020
 Top 11 Front-End Web Development Tools To Consider in 2020 Top 11 Front-End Web Development Tools To Consider in 2020
Top 11 Front-End Web Development Tools To Consider in 2020
 
InterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloud
InterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloudInterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloud
InterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloud
 
Node js for beginners
Node js for beginnersNode js for beginners
Node js for beginners
 
Important Backend Frameworks To Remember For Businesses In 2023
Important Backend Frameworks To Remember For Businesses In 2023Important Backend Frameworks To Remember For Businesses In 2023
Important Backend Frameworks To Remember For Businesses In 2023
 
Industrial Training.pptx
Industrial Training.pptxIndustrial Training.pptx
Industrial Training.pptx
 
Understanding Node.js and Django.docx
Understanding Node.js and Django.docxUnderstanding Node.js and Django.docx
Understanding Node.js and Django.docx
 
Red Hat Java Update and Quarkus Introduction
Red Hat Java Update and Quarkus IntroductionRed Hat Java Update and Quarkus Introduction
Red Hat Java Update and Quarkus Introduction
 
Exploring Next Generation Buildpacks - Anand Rao & Scott Deeg
Exploring Next Generation Buildpacks - Anand Rao & Scott DeegExploring Next Generation Buildpacks - Anand Rao & Scott Deeg
Exploring Next Generation Buildpacks - Anand Rao & Scott Deeg
 
Ultimate Guide to Microservice Architecture on Kubernetes
Ultimate Guide to Microservice Architecture on KubernetesUltimate Guide to Microservice Architecture on Kubernetes
Ultimate Guide to Microservice Architecture on Kubernetes
 
Nodejs framework for app development.pdf
Nodejs framework for app development.pdfNodejs framework for app development.pdf
Nodejs framework for app development.pdf
 
NodeJS VS Python
NodeJS VS PythonNodeJS VS Python
NodeJS VS Python
 
Joseph Ardolino CV (1)
Joseph Ardolino CV (1)Joseph Ardolino CV (1)
Joseph Ardolino CV (1)
 
Mastinder singh visualcv_resume
Mastinder singh visualcv_resumeMastinder singh visualcv_resume
Mastinder singh visualcv_resume
 

Recently uploaded

An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...Chandu841456
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineeringmalavadedarshan25
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxk795866
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
EduAI - E learning Platform integrated with AI
EduAI - E learning Platform integrated with AIEduAI - E learning Platform integrated with AI
EduAI - E learning Platform integrated with AIkoyaldeepu123
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfROCENODodongVILLACER
 
Effects of rheological properties on mixing
Effects of rheological properties on mixingEffects of rheological properties on mixing
Effects of rheological properties on mixingviprabot1
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvLewisJB
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfAsst.prof M.Gokilavani
 

Recently uploaded (20)

An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineering
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
EduAI - E learning Platform integrated with AI
EduAI - E learning Platform integrated with AIEduAI - E learning Platform integrated with AI
EduAI - E learning Platform integrated with AI
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdf
 
Effects of rheological properties on mixing
Effects of rheological properties on mixingEffects of rheological properties on mixing
Effects of rheological properties on mixing
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
 

IDEALIZE 2023 - NodeJS & Firebase Session

  • 5. RUNTIME 5 Created by RYAN DAHL in 2009 Allows to execute Javascript outside the browser Enables developers to write a full stack application in JavaScript Uses an event-driven, non-blocking I/O event loop for handling concurrent requests. Comes with a built in package manager. Built on top of Chrome V8 Engine Open Source & Cross Platform Fast & Efficient 󰞐 Source : https://github.com/nodejs/node ⬇ Download: https://nodejs.org/en/download/current
  • 7. What is npm? ● npm is Node.js's package manager. ● It manages dependencies in Node.js projects. ● Developers can install open-source packages with ease. ● npm simplifies adding functionality to Node.js apps. ● It ensures version control for package consistency. 7
  • 9. What is Event Loop? 9 1st PRIORITY - Call Stack ➡ Handles Synchronous Code 2nd PRIORITY - MICROTASK QUEUE ➡ Handles Promises and Microtasks 3rd PRIORITY - TASK QUEUE ➡ Handles Callbacks (From DOM APIs, I/O operations, Timers, etc.)
  • 10. RESTful API Development with Node.js
  • 11. What is a RESTful API? 11 API: Application Programming Interface REST: Representational State Transfer ✅ STANDARDIZED ✅ STATELESS ✅ PERFORMANT
  • 15. 15 Scenario Overview IDEALIZE API Base URL: http://localhost:3000 Endpoints: http://localhost:3000/authors http://localhost:3000/sessions The API should be able to provide the organizing committee to manage and organize the sessions organized as prerequisites for IDEALIZE 2023. Requirements: ⭐ Should be able to fetch, add, update & delete authors. ⭐ Should be able to fetch, add, update & delete sessions. ⭐ Add, update & delete should be protected.
  • 16. Supporting Software 16 Package Manager - npm Web Framework - Express.js Database System - Firestore REST Client - Postman 💡Can also use yarn or pnpm as well. 💡Can also use Nest, Sails, Koa, etc. 💡Can also use MySQL, MongoDB, etc. 💡Can also use Insomnia, curl, etc.
  • 17. 17 🚀 Minimal API: index.js ↗ Structuring the API Controllers Modules or functions that handle the business logic for specific API endpoints. Routes HTTP methods that clients can use to interact with the API. Middleware Functions that have access to the request and response objects and can perform additional processing before the final request handler Folder Structure
  • 18. 18 󰞐 Code up to now: source ↗
  • 22. What is Firebase? ● Firebase in NOT a database. ● A collection of backend cloud computing services by Google. ● There is a free tier to try out things. ● It offers following services (and more) ⦿ Databases ⦿ Authentication ⦿ Storage ⦿ Hosting ⦿ Compute units ⦿ Analytics 22
  • 24. What is Cloud Firestore? ● NoSQL cloud database ● Collection/Document structure of data ● Store data in flexible, hierarchical data structures ● Integrate with web or mobile technologies with provided SDKs ● Realtime updates ● Offline support ● Scales automatically 24
  • 26. 26 What’s next? ● Use an IDaaS like Asgardeo to Authorize users accessing your API. ⦿ https://wso2.com/asgardeo ● Consuming configurations from .env files. ⦿ Do not push the original file to the repository. ⦿ Push a .env.sample file with placeholders. ● Use a logger for logging in useful actions that’ll come in handy for debugging. ⦿ https://www.npmjs.com/package/winston ● You may have to use additional tools. ⦿ `cors` ⦾ Handle cross origin requests when embedding the API in to a web application. ⦿ `dotenv` ⦾ Read environment variables from .env files.