This is a full-blown app that uses every feature of FireCMS in one way or another. ## Testing the example For development purposes the dependencies of this project are linked directly to the parent library. This example folder is not meant to be copied as it is (since how dependencies are linked). In any case, if you would like to use this example outside the development flow, you can just replace the dependencies in `package.json` from `link:../...` to regular npm packages, and it will work just fine. If you just want to run the example, you can replace the linked dependencies in the `package.json` file for: ``` // ... "dependencies": { "@camberi/firecms": "latest", "@emotion/react": "^11.4.1", "@emotion/styled": "^11.3.0", "@mui/icons-material": "5", "@mui/lab": "^5.0.0-alpha.49", "@mui/material": "^5.0.0", "@mui/styles": "^5.0.0", "firebase": "^9", "react": "^17.0.2", "react-dom": "^17.0.2", "react-scripts": "^4.0.3" }, ``` ## Developing the CMS This example is used for development purposes. Dependencies in `package.json` are linked to the parent folder. You need to specify a valid Firebase config in the file `firebase_config.ts` which is not in VCS, but there is a template `firebase_config.ts.template` In order to make it work for development purposes, you need to run first: ``` yarn yarn build ``` in the parent directory. Then you need to set your Firebase configuration in the file `example/src/firebase_config.ts`. Then you can: ``` cd example yarn yarn build ``` You can also run `yarn start` instead of `yarn build`on both folders, in parallel, if you want the library to build automatically on changes, useful while developing. ### Algolia search The example backend included in this package indexes various collections to Algolia, using Cloud functions. If you deploy it, your data will be indexed. Then you can add your `appId` and `searchKey` to the `.env` file in the root of this example project. Note that you only need to have a Cloud Functions backend such as this one if you want to enable text search or are extending functionality in any other way.