/firecms

Awesome Firestore based CMS

Primary LanguageTypeScriptGNU General Public License v3.0GPL-3.0

logo

FireCMS

Awesome Firestore based headless CMS, developed by Camberi

FireCMS is a headless CMS and admin panel built by developers for developers. It generates CRUD views based on your configuration. You define views that are mapped to absolute or relative paths in your Firestore database, as well as schemas for your entities.

The goal of this CMS is to generate collection and form views that bind nicely to the Firestore collection/document model. We have built in many basic (and not so basic) use cases; but FireCMS is build with extensibility in mind, so it is easy to create your custom form fields, or your complete views.

Note that this is a full application, with routing enabled and not a simple component.

NPM JavaScript Style Guide

Core technologies

FireCMS is based on this great technologies:

  • Typescript
  • Firebase
  • React + React Router
  • Material UI
  • Formik + Yup

Quickstart

The easiest way to get going is to check our docs!

https://firecms.co

Demo

Check the demo with all the core functionalities. You can modify the data, but it gets periodically restored.

https://demo.firecms.co

Changelog

https://github.com/Camberi/firecms/blob/master/CHANGELOG.md

Install

In your React project, simply install the dependency.

npm install @camberi/firecms

or

yarn add @camberi/firecms

Features

CMS

  • Real-time Collection views for entities
  • Infinite scrolling in collections with optional pagination
  • Collection text search integration
  • Data export
  • Granular permissions based on user or specific collections/entities
  • All login methods supported by Firebase
  • Custom authenticator to control access
  • Custom additional views in main navigation
  • Filters for string, numbers and booleans
  • Filters for arrays, dates
  • Allow set up of a project using a CLI create-firecms-app

Entity edition

  • Create, read, update, delete views
  • Form for editing entities
  • Implementation of fields for every property (except Geopoint)
  • Conditional fields in forms
  • Native support for Google Storage references and file upload.
  • Advanced validation for fields using yup
  • Inline editing
  • Hooks on pre and post saving and deletion of entities
  • Enhanced reference, and array of reference, fields for relational data
  • Drag and drop reordering of arrays
  • Custom fields defined by the developer.
  • Subcollection support

Included example

You can access the code for the demo project under example. It includes every feature provided by this CMS.

Contact and support

https://www.reddit.com/r/firecms/ francesco@camberi.com

License

GPL-3.0 © camberi