GRID is a collaborative planning and voting tool. It can be used by teams for estimating tasks, establishing consensus and prioritizing work. You can try it out at https://gridvote.app.
To get started, run:
yarn install
and
yarn start:local
This starts a local dev server and a local emulated Firebase server.
To test, run:
yarn test:unit
GRID is a React app powered by a Firebase realtime database. To host your own version of GRID or develop against a real database you will need to create a Firebase Project and a Firebase Realtime Database
After creating your database, copy the env.example
file to .env
and fill in the missing details
cp env.example .env
You will need to find the following values in your Firebase project and add them to your .env
file:
Value | Location |
---|---|
project-id |
Settings > General > Project ID |
web-api-key |
Settings > General > Web API Key |
GRID uses anonymous login to enforce security rules on the database. Anonymous login must be enabled in the Firebase console:
- Open the 'Authentication' section
- Select 'Set up sign-in method'
- Select 'Anonymous' and save
To deploy the security rules to the database, first login to the Firebase CLI:
yarn firebase login
then select your Firebase project:
yarn firebase use <project-id>
and finally deploy the rules:
yarn deploy:rules
To start a local dev server run:
yarn start
To get testing, run:
yarn test:unit
This will run a subset of the tests which do not require any external dependencies.
In order to test the security rules of the Firebase Realtime Database the Firebase Emulator must first be installed:
yarn firebase setup:emulators:database
after installing the emulator, all tests can be run with:
yarn test
yarn lint
To create a production build run:
yarn build
To deploy using Firebase hosting run:
yarn deploy