mirror of
https://github.com/monkeytypegame/monkeytype.git
synced 2024-11-11 01:15:49 +08:00
2.2 KiB
2.2 KiB
Contributing
Technologies
- NodeJS v10
- Firebase
Prerequisite - Firebase Setup
-
Create a new Firebase project.
- The project name doesn't really matter, but just name it
monkeytype
. - Google Analytics is not necessary.
- The project name doesn't really matter, but just name it
-
Run
firebase login
on your terminal to log in to the same google account as you just used to create the project. -
Git clone this project.
-
Rename
.firebaserc_example
to.firebaserc
and change the project name of default to the firebase project id you just created.- If
.firebaserc_example
does not exist after cloning, create your own with:
{ "projects": { "default": "your-firebase-project-id" } }
- Run
firebase projects:list
to find your firebase project id.
- If
-
Generate a Firebase Admin private key
- In your Firebase console, go to Project Settings > Service Accounts
- Click "Generate New Private Key"
- Save as
serviceAccountKey.json
in thefunctions/
directory
-
Enable Firebase Authentication
- In the Firebase console, go to Authentication
- Click on
Email/Password
, enable it and save - Click on
Google
, add a support email and save
-
Enable Firebase Firestore
- In the Firebase console, go to Cloud Firestore
- Create database
- Start in test mode
- Select default location and enable
Building and Running
- Run
npm install
in the project root directory to install dependencies. - Run
npm run start:dev
to start a local dev server on port 5000. It will watch for changes and rebuild when you edit files insrc/
orpublic/
. Use ctrl+c to stop it.- Run
firebase use <your-project-id>
if you run into any errors for this.
- Run
Standards and Conventions
- Code style is enforced by Prettier, which is automatically run every time you
git commit
(if you've followed the above instructions properly).
Questions
If you run into any problems, let me know on GitHub or Discord in the #development
channel.