Code Monkey home page Code Monkey logo

Flamelink JavaScript SDK

NPM Version NPM Version NPM Downloads

⚠️ NOTE ⚠️

Version 0.x.x (flamelink@latest) of the SDK only supports the Firebase Realtime Database, and is being deprecated.

Please consider upgrading to the "@next" version of the SDK (flamelink@next) which supports both Cloud Firestore and the Realtime Database

Alternatively please ensure you have specified a fixed version in your package manager file ("flamelink": "0.19.14") to avoid updating to the latest version of Flamelink on your next installation

logo

Easily integrate with your Flamelink CMS.

This SDK is intended to be used in a browser or on a NodeJS server environment.

If you are unfamiliar with Flamelink, please visit our flamelink.io website for more info on features, pricing and more.

NOTE: THIS SDK SUPPORTS THE FIREBASE REALTIME DATABASE ONLY.

If you are looking for Cloud Firestore support, please use our new SDK that supports both.

Prerequisites

It goes without saying that you will need to have a Flamelink project for this SDK to be of any use to you.

Apart from the Flamelink project, the only real hard dependency is either the Firebase JavaScript SDK or Firebase Admin SDK, depending on whether you use Flamelink from the browser or server. Take a look at the installation instructions on their README, but in short, just make sure you add firebase or firebase-admin as a dependency to your project.

Once you have firebase installed, you can install flamelink using any of the following options (we recommend installing with npm or yarn):

Installation

Install with npm

npm install --save flamelink

or with yarn

yarn add flamelink

or with a <script> tag hosted from any of these CDN's

jsDelivr

Add the following script tag to the <body> of your index.html file:

<script src="//cdn.jsdelivr.net/npm/flamelink/dist/flamelink.js"></script>

This will always load the latest version of this SDK for you. If you want to load a specific version, you can specify the version number as well (1.0.0 in the example):

<script src="//cdn.jsdelivr.net/npm/[email protected]/dist/flamelink.js"></script>

See the jsDelivr website for more options

unpkg

Add the following script tag to the <body> of your index.html file:

<script src="//unpkg.com/flamelink/dist/flamelink.js"></script>

This will always load the latest version of this SDK for you. If you want to load a specific version, you can specify the version number as well (1.0.0 in the example):

<script src="//unpkg.com/[email protected]/dist/flamelink.js"></script>

See the unpkg website for more options

Usage

Importing/Adding the dependencies

First ensure that you load the flamelink package to your file. When using the <script> tag version, you will need to load both firebase and flamelink which will then be globally available on the browser's window object.

Depending on your app setup, you can import the package using require() statements:

var flamelink = require('flamelink');

or using ES2015/ES6 imports:

import flamelink from 'flamelink';

Creating your Flamelink app instance

You can create your flamelink app instance by passing in an existing firebaseApp instance along with all the other flamelink config options (if using this option you need to remember to import firebase or firebase-admin yourself):

import * as firebase from 'firebase';
import flamelink from 'flamelink';

const firebaseConfig = {
  apiKey: '<your-api-key>', // required
  authDomain: '<your-auth-domain>', // required
  databaseURL: '<your-database-url>', // required
  projectId: '<your-project-id>', // required
  storageBucket: '<your-storage-bucket-code>', // required
  messagingSenderId: '<your-messenger-id>' // optional
};

const firebaseApp = firebase.initializeApp(firebaseConfig);

const app = flamelink({ firebaseApp });

?> Tip: Go to your Firebase console to find these config settings.

When using the firebase-admin SDK on server-side, you need to specify a isAdminApp property along with your firebaseApp instance, like this:

const admin = require('firebase-admin');
const flamelink = require('flamelink');
const serviceAccount = require('path/to/serviceAccountKey.json');

const firebaseConfig = {
  credential: admin.credential.cert(serviceAccount), // required
  databaseURL: '<your-database-url>', // required
  storageBucket: '<your-storage-bucket-code>' // required if you want to your any Storage functionality
};

const firebaseApp = admin.initializeApp(config);

const app = flamelink({ firebaseApp, isAdminApp: true }); // Remember `isAdminApp: true` here!!!

You can use any of the different ways to create the admin firebaseApp instance, as long as you remember to set the isAdminApp: true option.

Using your flamelink app

Once you have an instance of the flamelink app, you can start using it to interact with your data stored in your firebase database. Suppose you want to retrieve all your products created under the "Content" section in flamelink.

Using standard Promises:

app.content.get('products')
  .then(products => console.log('All of your products:', products))
  .catch(error => // handle any errors)

Using async-await:

const products = await app.content.get('products');
console.log('All of your products:', products);

Read our docs for more specifics!

🔥🔥🔥 Flame on!! 🔥🔥🔥

Flamelink's Projects

examples icon examples

A collection of examples for incorporating Flamelink with different frameworks and technologies

flamelink icon flamelink

JavaScript SDK for integrating with Flamelink CMS 🔥

flamelink-js-sdk icon flamelink-js-sdk

🦊 Official Flamelink JavaScript SDK for both the Firebase Realtime database and Cloud Firestore

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.