1.0.4 • Published 9 years ago
helpdeskjs v1.0.4
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
- Groove team subscription or trial account
 - Stripe subscription or dev subscription
 - MongoDB
 - Node.js 6.0+
 - SMTP Connection
 
Installation
# Get latest version from github
git clone --depth=1 https://github.com/silveridea/helpdeskjs.git myhelpdesk
cd myhelpdesk
# Install dependencies
npm installUsage
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 startYou 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 
.envfile to GROOVEHQ_ACCESS_TOKEN= - Put the email you are using with groove in 
.envfile 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 
.envfile to STRIPE_SKEY, STRIPE_PKEY 
- 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: 
- Application Type: Web Application
 - Authorized Javascript origins: http://localhost:3000
 - Authorized redirect URI: http://localhost:3000/auth/google/callback
 - Click on Create Client ID button
 - Copy and paste Client ID and Client secret keys into 
.envfile GOOGLE_ID,GOOGLE_SECRET Note: When you ready to deploy to production don't forget to add your new url to Authorized Javascript origins and Authorized redirect URI, e.g. http://myapp.herokuapp.com and http://myapp.herokuapp.com/auth/google/callback respectively. 
 
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