This project uses a Lerna Monorepo. Lerna is a tool used to manage multiple JavaScript packages. There are two self-descriptive packages, the backend package and the frontend package.
-
Download yarn. This can be installed via npm
npm install --global yarn. -
At the root level of the project, run
yarn. This will install the packages required for Lerna to work, as well as automatically install packages for the frontend and backend packages. -
Once again at the project root, run
npm run start. This will automatically run thestartcommand in all nested packages, which will simultaneously run the frontend and backend.
This project uses Firebase for authentication. You may want to set up your own Firebase project for development of this application.
-
Go to the Firebase Console and create a new project.
-
Go to the top left cog > Project Settings > Scroll down to the "Your apps" section and add a new web app.
-
Copy the firebaseConfig code. It should be a single JS object.
-
Paste that object in a new file named
scripts/firebase-config/data.js, replacing the name of the object withmodule.exportsand run the script next to that file. -
The script will save information to your clipboard. Paste that into the REACT_APP_FIREBASE_CONFIG environment variable, replacing all existing contents.
-
Go to service accounts and generate a new private key
-
Name the downloaded file
firebase.jsonand place it in the /keys directory. DO NOT COMMIT THIS FILE.
-
Ask the project owner for a private key.
-
Rename this file
firebase.jsonand place it in the /keys directory. DO NOT COMMIT THIS FILE.