We have created an open source CMS based on Firestore

250 views
Skip to first unread message

Francesco Gatti

unread,
Jun 10, 2020, 12:34:48 PM6/10/20
to Firebase Google Group

Hi everyone,

I'd like to tell you about a tool we are open sourcing after extensive internal use at camberi.com. We call it FireCMS and you can check a demo project in:

https://firecms-demo-27150.web.app

(no login required unless you want to modify data, which gets reset automatically every day).

Post image

The motivation of building this project came after working on different projects for clients that needed some interface to modify their Firestore database, so we came up with a generic solution.

FireCMS works by defining views that are mapped to collections in Firestore and entity schemas that are mapped to documents. It is easy to get an idea of how it works by checking the simple provided example in the npm package. A more complete example can be found in the example code for the demo: https://github.com/Camberi/firecms/tree/master/example

It is found as a dependency in npm but it is meant to be used as a full app since it handles navigation internally using React Router. We are totally open for suggestion on how to improve any part of it. We have given a lot of thought to most parts, especially the entity schemas, but there is always room for improvement.

For a more detailed explanation of how it works and a full set of features, you can check the GitHub or NPM links.


Current status
  • [x] Create, read, update, delete views

  • [x] Form for editing entities

  • [x] Implementation of fields for every property (except Geopoint)

  • [x] Support for document references

  • [x] Native support for Google Storage references and file upload.

  • [ ] Geopoint field

  • [x] Real-time Collection view for entities

  • [ ] Encoding pagination in URL for improved navigation

  • [x] Custom additional views in main navigation

  • [x] Custom fields defined by the developer.

  • [ ] Improve error handling when unexpected formats come from Firestore

  • [x] Subcollection support

  • [x] Filters (only for string and numbers)

  • [ ] Filters for arrays, dates

  • [x] Custom authenticator

  • [x] Validation for required fields using yup

  • [ ] Additional Validation (all yup supported properties, such as min or max value)

  • [ ] Unit testing

Reply all
Reply to author
Forward
0 new messages