Giter VIP home page Giter VIP logo

helpr's Introduction

HelpR

What is HelpR?

HelpR is an open-source mentorship queue software built by TAMUhack. It allows for two basic functionalities:

  1. Participants can submit tickets to a central queue. These tickets contain information about the issue, the participant location, and contact information.
  2. Mentors can claim tickets that they have are comfortable handling. With HelpR, they can easily locate the participant and provide assistance.

Our goal was to keep the software as easy to use as possible for both participants and mentors.

Home Mentor View

HelpR Tech Stack

Quick Start

Deploy with Vercel

Deploy to Vercel with only a few clicks. Vercel will ask for information about the necessary environment variables.

Running HelpR Locally

Note for TAMUhack devs: Pushing to the staging branch allows for Vercel previews to work with Next Auth. Normal branches with random links do not have permission from Google auth to sign users in.

Getting Started

Getting HelpR up and running locally is pretty easy!

First, clone/fork the repo and install the dependencies:

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

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

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:

$ yarn 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.
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.

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"

helpr's People

Contributors

abhishek-more avatar ysadamt avatar anjalik02 avatar nitroguy10 avatar

Stargazers

 avatar  avatar  avatar Cameron Brill avatar  avatar

Watchers

Gabriel Britain avatar  avatar Jay Khatri avatar

Forkers

3kdev

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.