4.1 KiB
Setting up
This page will teach you how to set up the Llama bot web Interface.
Steps
Pre-requirements
- Node.js version 14 or greater (version 16 is recommended)
- yarn
- Discord account
- Google Firebase account
- Payment method (No payment required for light usage. More info here)
Discord
-
Go to the Discord Developer Portal and create an application. Select one if you already have it. Using the same application used by the discord bot is recommended.
-
Go to the OAuth2 tab.
-
Add the following redirects:
- testing (http):
http://localhost:5000/api/auth
- production (https):
https://<YOUR_SITE_NAME_HERE>/api/auth
(e.g.https://llama.developomp.com/api/auth
)
- testing (http):
Firebase
- Create a firebase project. Select one if you already have it. Using the same project usd by the bot is recommended. Make sure it is using the blaze plan.
- Go to the
Firestore Database
tab and enable it. Usage of production mode is highly recommended.
Local
Clone the llama-bot-web-interface repository.
Functions
-
Edit
functions/src/config.json
.{ "pathPrefix": "/api", // where the API endpoints will be located. Set it to "/" if it's on another domain (example: api.example.com) "scopes": ["identify", "email", "guilds"] // Discord OAuth2 scopes. }
more info about discord OAuth2 scopes can be found in the discord developers documentation
-
Create
functions/src/secret.json
and fill in the data.{ "clientID": "DISCORD_CLIENT_ID_HERE", // Discord OAuth2 Client ID "clientSecret": "DISCORD_CLIENT_SECRET_HERE", // Discord OAuth2 Client Secret "secret": "SECRET_COOKIE_KEY_HERE" // secret key to be used for express session security }
-
Visit this link, select your firebase project and download the firebase admin sdk key by pressing the "Generate new private key" button. Rename it to
firebase-adminsdk.json
and put it infunctions/src/
. -
Install firebase cli tools.
yarn global add firebase-tools
-
Select firebase project. You may have to log in. You must run this command in the project root.
firebase use <FIREBASE_PROJECT_ID_HERE>
-
Go to
functions
directory and install necessary dependencies.yarn install
-
Build production code.
yarn build
Frontend
-
Go to the
frontend
directory and install dependencies.yarn install
-
Test with hot reloading.
yarn dev
-
Build site for production.
yarn build
-
Preview the production build
yarn preview
Testing
:::info Build backend and frontend code first :::
-
Start local test server by running the following command:
firebase serve
-
Open locally served test site and log in with your discord account.
-
If everything is set up correctly, this should have added a new user in firestore database.
Deployment
:::warning Make sure to test your code before deploying to production :::
Deploying the code to production is as simple as running the following command:
firebase deploy
The deployment could take a while so be patient.
To deploy frontend code only:
firebase deploy --only hosting
To deploy backend code only:
firebase deploy --only functions
More info
- discord developers documentation: https://discord.com/developers/docs
- firebase admin sdk documentation: https://firebase.google.com/docs