All Projects → ablehq → firestore-explorer

ablehq / firestore-explorer

Licence: MIT license
A web based explorer for cloud firestore and emulator

Programming Languages

typescript
32286 projects
Vue
7211 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to firestore-explorer

Next Blog Firestore
Example of blog built with React, Next.js, Firebase Firestore, Styled-Component, Mobx State Tree and other cool technologies
Stars: ✭ 219 (+544.12%)
Mutual labels:  firestore
Ipoli Android
Fun & Motivational Todo List with Calendar for Android written in Kotlin. Using Redux, coroutines, Firebase and Clean Architecture.
Stars: ✭ 234 (+588.24%)
Mutual labels:  firestore
FirestoreChatApp
Simple real-time chat application using Firestore
Stars: ✭ 43 (+26.47%)
Mutual labels:  firestore
Reactfire
Hooks, Context Providers, and Components that make it easy to interact with Firebase.
Stars: ✭ 2,908 (+8452.94%)
Mutual labels:  firestore
Iosched Ios
The Google I/O iOS app
Stars: ✭ 227 (+567.65%)
Mutual labels:  firestore
Vue Firestore
☁️ Cloud Firestore binding in realtime with Vuejs
Stars: ✭ 239 (+602.94%)
Mutual labels:  firestore
Geoflutterfire
🔥GeoFlutterFire🔥 is an open-source library that allows you to store and query firestore documents based on their geographic location.
Stars: ✭ 207 (+508.82%)
Mutual labels:  firestore
flutter firestore ref
Cross-platform(including web) Firestore type-safe wrapper.
Stars: ✭ 72 (+111.76%)
Mutual labels:  firestore
React Firestore
React components to fetch data from firestore using render props
Stars: ✭ 228 (+570.59%)
Mutual labels:  firestore
client-side-databases
An implementation of the exact same app in Firestore, AWS Datastore, PouchDB, RxDB and WatermelonDB
Stars: ✭ 787 (+2214.71%)
Mutual labels:  firestore
Canner
⚡️[NOT MAINTAINED] Content Management Framework creates custom CMS fast and easy. Support data sources such as Firebase/Firestore, GraphQL and Restful APIs.
Stars: ✭ 2,472 (+7170.59%)
Mutual labels:  firestore
React Native Examples
A repo that contain React Native examples most related to tutorials I publish
Stars: ✭ 222 (+552.94%)
Mutual labels:  firestore
Angularfire Lite
⚡️ Lightweight library to use Firebase API 🔥 with Angular
Stars: ✭ 245 (+620.59%)
Mutual labels:  firestore
Nobullshit
A sample project entirely written in Kotlin. Backend/Frontend with Ktor and Android app.
Stars: ✭ 221 (+550%)
Mutual labels:  firestore
CloudFirestore-Android
Cloud Firestore code guideline for Android developers
Stars: ✭ 46 (+35.29%)
Mutual labels:  firestore
Fireadmin
Application for Managing Firebase Applications. Includes support for multiple environments and data migrations
Stars: ✭ 207 (+508.82%)
Mutual labels:  firestore
Flutter Keep
A note-taking app built with Flutter + Firebase
Stars: ✭ 238 (+600%)
Mutual labels:  firestore
pod 1.0.2 kaal
Kaal is a productivity suite with beautiful CLI and a Discord Bot.
Stars: ✭ 15 (-55.88%)
Mutual labels:  firestore
firebase dart sdk
Unofficial Firebase Flutter SDK. Maintainer: @long1eu
Stars: ✭ 84 (+147.06%)
Mutual labels:  firestore
Rwa Trivia
Trivia App - Real World Angular series
Stars: ✭ 251 (+638.24%)
Mutual labels:  firestore

Firestore Explorer

Web based read only admin UI to explore cloud firestore and emulator.

GitHub package.json version GitHub release (latest by date) GitHub license GitHub language count GitHub top language GitHub package.json dynamic code style: prettier

Motivation

There are a couple of issues we noticed during our day to day development with Firestore projects.

  • Exploring documents in your collections can soon become tedious process as you have to click through and navigate the whole hierarchy, its a painful experience that eats into your productivity.

  • There is no way to explore Firestore emulator.

What we need is a quick way to query the data of interest, just like there is an sql console for a relational database, we would need a query tool for Firestore as well.

Before you begin

  • To connect to Cloud Firestore, this tool would require Firebase project's security credentials for admin access. To mitigate any risk of accidental writes to Firestore, this tool ensures that the queries passed to it are read only calls. It does so by applying a layer of javascript parsing that filters only read queries.

  • This tool is like any other Firestore client, hence reads made through this tool will be charged as per Firestore plan.

Usage

Usage

Note: Ensure you have nvm and firebase-tools installed.

Clone the repository

Follow these steps when using for the first time.

  • nvm use
  • yarn
  • yarn onetime_setup
  • yarn serve

Subsequent usage

  • nvm use
  • yarn serve

You will see that Firebase Proxy is running at port 7000 and Explorer running at port 8000

Query console

Query console supports arbitrary queries to Firestore. It expects javascript based method calls just like the web or admin sdk. There are some limitation to the queries

  • Single valid javascript statement
  • Query should always start with db
  • Query should always end with call that will return a promise of QueryDocumentSnapshot or QueryDocumentSnapshot or QuerySnapshot or Array<CollectionReference>

Examples

db.listCollections();
db.collection("movies")
  .limit(10)
  .get();
db.collection("movies")
  .where("title", "==", "LBJ (2017)")
  .limit(10)
  .get();
db.doc("movies/179813").get();
db.doc("movies/179813/ratings/179813-462-1536467407").get();

Development Details

The project is divided into three modules. All these three modules can be developed independent of each other. Typescript is used across all these modules.

  • Firebase Proxy
  • Explorer
  • Firebase seeds

Firebase Proxy

An express based server which mainly deals with exposing two kinds of api.

  • An api for web app for its storage needs. Exposes servers and config api endpoints.
  • An api for command execution. It uses firebase admin sdk under the hood to wrap firebase calls to the firestore emulator or cloud firestore.

This can be worked on independently. Simply cd to the directory and use yarn watch to work on the code.

Explorer

A vuejs based web application. Uses vuex for state management needs and vuetify for ui components. This module can also be worked on independently, simply cd to the directory and use yarn serve to work on the code.

Firebase seeds

This is simple utility module to setup data in firestore emulator and cloud firestore.

  • Use yarn to install project dependencies.
  • Use yarn emulator_setup to install firebase tools along with emulator
  • Use yarn emulator_start to start the firestore emulator
  • Use yarn seed_local to seed data present in data directory into emulator firestore
  • Use yarn seed_cloud to seed data into cloud firestore. To work with cloud firestore you will admin sdk credentials file. You can get one by navigating to service accounts -> generate new key. Create a file called FirebaseAdminConfig.json in root directory of this module and paste the contents of the downloaded file into the json file.

Note: Firestore emulator requires Java runtime, so ensure your machine Java installed.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].