loopback4-connector-firestore

Firebase Firestore connector for the LoopBack framework.

Usage no npm install needed!

<script type="module">
  import loopback4ConnectorFirestore from 'https://cdn.skypack.dev/loopback4-connector-firestore';
</script>

README

loopback4-connector-firestore

Firebase Firestore connector for the LoopBack4 framework.

I needed an easy way to connect a Loopback application to Firebase's NoSQL database Firestore so that i decided to build this connector.

Installation

If you want to know how to get started with Loopback4 check this.

To add a new data source, use the data source generator:

lb4 datasource

Then the data source generator will prompt some questions like

  • Enter the data-source name: Firestore (Choose your prefered name)
  • Select the connector for Firestore: other
  • Enter the connector's module name loopback4-connector-firestore
  • Install loopback4-connector-firestore (Y/n) y

Then you should use a service account. Go to Project Settings > Service Accounts in the Google Cloud Platform Console. Generate a new private key and save the JSON file.

You should fill the application's datasource file which is located in /server/datasources.json with those details, You can find them in the downloaded JSON file from the Google Cloud Platform.

"firestore": {
  "name": "firestore",
  "projectId": "",
  "clientEmail":  "",
  "privateKey": "",
  "databaseName": "Optional, Default: projectId"
}

Connection properties

Property Type   Description ---
projectId String project_id in the JSON file ---
clientEmail String client_email in the JSON file ---
privateKey String private_key in the JSON file ---
databaseName String Firebase's project id Optional, Default: projectId

And you can actually store those private details as an Environment variables, Check source-configuration

Build and test from source

Download google service json key file to test folder and rename it to config.json

npm test

Inspiration

I've got inspired by the Official MongoDB connector by Loopback

License

Copylefted (c) 2021 Bui Dinh Ngoc Licensed under the MIT license. Copylefted (c) 2017 Dyaa Eldin Moustafa Licensed under the MIT license.