/firestore-manager

:fire: [WIP] Manage your firestore databases in ease

Primary LanguageTypeScriptMozilla Public License 2.0MPL-2.0

icon Firestore Manager

Mozilla Add-on version Mozilla Add-on downloads Mozilla Add-on users Mozilla Add-on stars Donate Hits

A simple, fast and intuitive web-extension to manage firestore databases, made with Angular.

screenshot

⚠️ This project is still work in progress & may not be suited for production use.

Features

  • Easily Add/Clone/Rename/Delete/Filter collections & documents.
  • 3 editing modes (thanks to jsoneditor project).
  • Powerful diff viewer (using diff-match-patch & diff2html).
  • JSON export/import.
  • Firebase Authentication Support (Anonymous, email & password, JWT token).
  • [Experimental] Databases Auto Backup (webextension only).

Installation

Get it for Firefox! Get it for Chrome!

Or try it as a web application.

How to install?

Tips

right click to open context menu move collections
Right click on any collection or document name to get more options Move collections using drag-n-drop
json editor menu
Use the json editor menu options to perform actions like auto-fix json errors, fix alignment, undo/redo changes, ...

Todo

  • Translations
  • Add collections filter (field - operator - value)
  • Refactor long components code (create a module for each main component)
  • Handle sub-collections
  • Add unit tests

Development server

Run ng serve for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.

Build

Run ng build to build the project. The build artifacts will be stored in the dist/ directory. Use the --prod flag for a production build.

Package

Make sure you have the following package installed npm install -g web-ext. Then run:

npm run build && npm run package

Deploy on github pages

Make sure you have the following package installed npm install -g angular-cli-ghpages. Then run:

npm run build:github && npm run deploy:github

License

Firestore Manager is licensed under the MPL2 license.