/
Onboarding

Onboarding

Setup

Planner requires Node v16+ and Python3.10. It also requires local environment variables since it uses Neon (hosted PostgresDB service), a SMTP server, and Discord as authentication provider.

Pre-requisites

To be able to start development on Planner make sure that you have the following pre-requisites installed:

Installation and Configuration

  1. Clone repository and install web dependencies:

git clone https://github.com/UTDNebula/planner.git cd planner npm install
  1. Copy .env.example file to .env:

    Copy the contents of the .env.example file at the root of the repo to a new file called .env.

  2. Setting up Neon:

    Neon is a hosting service for PostgreSQL.

    1. Install the Neon CLI.

    2. Run neonctl auth and follow the on-screen prompts to login or create an account.

    3. Run neonctl projects create --name planner-dev to create a Neon project for Planner.

    4. Copy the string listed under 'Connection Uri' (ex: postgres://my-user:my-password@my-project-id.us-east-2.aws.neon.tech/neondb) and update the DATABASE_URL and DIRECT_DATABASE_URL variables in your .env file, as shown below.

      # Prisma DATABASE_URL="<your connection uri here>" DIRECT_DATABASE_URL="<your connection uri here>"
  3. Apply database migrations:

    npx prisma migrate dev
  4. Request PLATFORM_DATABASE_URL from someone on the team.

  5. Set the NEXTAUTH_URL to http://localhost:3000 NEXTAUTH_SECRET to abc123.

  6. Setting up an auth provider. You need at least one of these to log in. We recommend you only add Discord for convenience.

  1. Go to Discord Developer Portal — My Applications

  2. Click on New Application

  3. Type "planner"

  4. Agree to their terms of service

  5. Click to create

  6. Click on OAuth2

  7. Click on reset the secret

  8. Click on "Yes, do it!" and copy the generated secret

  9. Click on "Add Redirect"

  10. Paste "http://localhost:3000/api/auth/callback/discord" into input

  11. Click on save changes at the bottom

  12. Copy and paste your secret and clientID (also on the OAuth2 page) into your .env:

  1. Run and configure validator

    1. Create a virtual environment:

    2. Activate the virtual environment:
      - Windows: venv\Scripts\activate
      - Linux/macOS: source venv/bin/activate

    3. Install dependencies:

    4. Run the validator:

    5. Add the validator to .env:

  1. For any unused variables in your .env file, just leave them blank.

  2. Generate Prisma client and run web server:

Overview of the tech stack: Tech Stack.

Related content

Tech Stack
Tech Stack
More like this
Planner - Team
Planner - Team
More like this
09/18/2023
09/18/2023
Read with this
Development Workflow and Deployment
Development Workflow and Deployment
More like this
Planner Engineering Overview
Planner Engineering Overview
Read with this
Planner Meetings
Planner Meetings
More like this