Creating Your Development Setup
This guide discusses setting up the Polar Edge Analytics repository for local development.
Prerequisites
This guide assumes you have the following already set up (TODO: add references on how to get these configured)
- Node.js installed; we recommend using nvm (MacOS/Linux) or fnm (Windows) to manage your Node.js version
- pnpm installed
- Docker Desktop installed
Local Setup
Setting up the Polar Edge Analytics repository requires running a local instance of the database. We currently provide a shell script located at apps/web/lib/database/scripts/db-start.sh
to do so, with plans to run this script automatically in the future.
If the root directory, run pnpm install
to install dependencies across the entire repository. We recommend installing the turbo
CLI globally to make running commands easier. This can be done by running pnpm i -g turbo
.
For developing the scouting site, only one .env
file is currently required. For convenience, we provide a .env.example
file within the apps/web
directory. Copy the contents of this file into another called .env.local
.
NOTE: this file is currently unavailable, it should be shortly...
Set Up Your .env.local
There are 6 Values that you need to put in your .env.local file.
DATABASE_URL=postgres://postgres:postgres@localhost:5432/polar_edge
AUTH_DISCORD_ID= #application id in discord developer portal
AUTH_DISCORD_SECRET= #oauth secret in discord developer portal
AUTH_SECRET= #generate with openssl rand -base64 32 in terminal
TBA_API_KEY= #api key from tba if using tba features
ADMIN_USERS= #your_discord_user_name_here
To get AUTH_DISCORD_ID and AUTH_DISCORD_SECRET:
1.Go to https://discord.com/developers/applications
2.Click on New Application and Make a New Application
3.Go to OAuth2
4.Client ID is found under the Client Information Tab, and Reset Secret for Client Secret.
To get AUTH_SECRET, go on terminal and run "openssl rand -base64 32 in terminal". Make sure to put this in "".
To get TBA_API_KEY, go on https://www.thebluealliance.com/account and make a new API Key.
ADMIN_USERS is your discord username.
After .env.local is Set Up
Once dependencies are installed and the .env.local
files are configured, the development server can be run via:
turbo dev # if turbo CLI installed globally
pnpm run dev # if turbo CLI not installed globally