0.0.14 • Published 5 years ago

firepanda v0.0.14

Weekly downloads
2
License
ISC
Repository
-
Last release
5 years ago

Firepanda 🔥🐼

Build Status NPM Version Typescript lang License

Firepanda is a development framework for Firebase and the Google Cloud (a few selected services are supported). The main goal of Firepanda is to simplify and accelerate the development of applications powered by Firebase (Firestore, Authentication, Storage, ...), and some selected Google Cloud services.

CLI

Firepanda comes with a small CLI to handle the project structure and build the necessary files in order to deploy to Firebase and other Google Cloud services.

Installation

npm install firepanda

Usage

firepanda init my-project folder-name

This will generate a new folder structure, install all required base dependencies and copy all files to start developing a new application.

Setup

Setup firebase in your new project folder

firebase login
OR
firebase use --add # follow instructions

Development

Firestore

To get started, Firepanda provides an easy framework to develop custom models using Firestore.

Collections

Add a new collection

  1. Create a new file src/firestore/Users.ts*
  2. Create a new collection class and use the Firepanda decorator to define the collection schema:
import { Collection, Firepanda } from 'firepanda';

@Firepanda({
  name: 'users',
  id: {
    from: 'uid'
  },
  schema: {
    uid: { type: 'string', required: true },
    displayName: { type: 'string' },
    email: { type: 'string' },
    photoUrl: { type: 'string', default: 'http://www.gravatar.com/avatar/1337?d=identicon' },
    active: { type: 'boolean' },
    createdAt: { type: 'timestamp', transform: { on: 'beforeAdd' } },
  }
})
export class UsersCollection extends Collection {
  // Implement any custom methods here
}

Schema

The collection schema is defined using the Firepanda decorator.

FieldTypeDescription
namestringName of the collection used within Firestore
id.fromobjectData to use the ID from another field
schemaobjectAll the fields the collection uses