1.0.4 • Published 7 years ago

helpdeskjs v1.0.4

Weekly downloads
1
License
MIT
Repository
github
Last release
7 years ago

HelpDeskJS

Simple helpdesk Node.js website for user subscription management and ticket creation with groove integration at the backend.

Features

  • Local Authentication using Email and Password
  • OAuth 2.0 Authentication via Google
  • Contact Form
    • Sending email to admin
  • Groove integration
    • Create a new ticket
    • View ticket messages
    • Add ticket message
  • Stripe credit card payment integration
  • Subscription payment management
  • Allow/disallow creation of tickets if invoice is not paid
  • User account and subscription management
    • Welcome email to user
    • Admin notification on every new user
    • Gravatar
    • Profile details
    • Change password
    • Forgot password
    • Reset password
    • Link multiple OAuth logins to one account
    • CSRF protection
  • MVC Project Structure
  • Express
  • EJS forms (with master layout)
  • Sass stylesheets (auto-compiled via middleware)
  • Bootstrap 3

Prerequisites

Installation

# Get latest version from github
git clone --depth=1 https://github.com/silveridea/helpdeskjs.git myhelpdesk
cd myhelpdesk

# Install dependencies
npm install

Usage

You will need to edit .env.example file and set your keys.

MONTHLY_PRICE is the price per month for your service in USD.

See obtaining API keys section below.

start your mongodb

npm start

You can now browse to http://localhost:3000

Obtaining API keys

Groove

  • Sign up with https://www.groovehq.com/
  • Go to Settings->API
  • Copy the Private Token and paste it to .env file to GROOVEHQ_ACCESS_TOKEN=
  • Put the email you are using with groove in .env file to GROOVE_AGENT_EMAIL=

Stripe

  • Sign up with http://stripe.com
  • Click on your profile and click on Account Settings
  • Click on API Keys
  • Copy the keys into .env file to STRIPE_SKEY, STRIPE_PKEY

Google

  • Visit Google Cloud Console https://console.cloud.google.com/
  • Click on the Create Project button - Enter your project name, click on Create button
  • Then click on API Manager in the sidebar -> Enable API
  • Uder Social APIs click on Google+ API, then click Enable API
  • On API Manager in the sidebar click Credentials
  • Click on Create new Client ID button
  • Select Web Application and click on Configure Consent Screen
  • Fill out the required fields then click on Save
  • In the Create Client ID modal dialog:

Future work

  • Add guide how to publish to Heroku
  • Enable payment with PayPal
  • Create a job to generate new invoice every month, send a notification to the user, disable the account if not paid
  • Create a real shopping cart

Your feedback is important

by silveridea