Running HelpR Locally

Running HelpR Locally

Getting Started

Getting HelpR up and running locally is pretty easy!

First, clone/fork the repo (opens in a new tab) and install the dependencies:

$ git clone https://github.com/tamuhack-org/helpr.git
$ cd helpr 
$ npm i 

Then, create a .env file in the root of the project and add the following:

.env
NEXT_URL=
NEXTAUTH_SECRET=
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
DATABASE_PRISMA_URL=

See more information about these variables below.

Finally, run the development server:

$ npm run dev

Environment Variables

NEXT_URL

Obtained by using the URL of the locally hosted site, appended with /api/auth. Learn more from the NextAuth Docs. (opens in a new tab)
Example: NEXT_URL="http://localhost:3000/api/auth"

NEXTAUTH_SECRET

A random string used to hash tokens, sign/encrypt cookies and generate cryptographic keys. Learn more from the NextAuth Docs. (opens in a new tab)

Generate with openssl in the terminal:

$ openssl rand -base64 32

Example: NEXTAUTH_SECRET=aBh15h3KSq/I5tH3C00135t/CY6UMGun=

GOOGLE_CLIENT_ID

Follow these steps to obtain this information:

  1. Create a new Google Cloud Project.
  2. Create credentials for a new OAuth 2.0 Client ID.
  3. Set the Application Type as Web Application and choose any name.
  4. Add http://localhost:3000 as an Authorized JavaScript origin.
  5. Add http://localhost:3000/api/auth/callback/google as an Authorized redirect URI.
  6. Save the configuration. Once created, you can view the Client ID and Client Secret.
💡

For deploying the app, simply add new authorized Javascript origins and redirect URIs, switching out localhost:3000 with the canonical URL of the deployment.

GOOGLE_CLIENT_SECRET

Follow the above steps 👆

DATABASE_PRISMA_URL

The PostgreSQL database URL. A PostgreSQL database can be hosted on many platforms, including Heroku, AWS, and Vercel. We recommend Vercel because it's free and easy to set up.

Example: DATABASE_PRISMA_URL="postgresql://postgres:password@localhost:5432/vercel?pgbouncer=true&connect_timeout=15"