# helpdeskjs

> Small helpdesk software

Latest version **1.0.4** (published 2017-04-10) · MIT license · 0 weekly downloads

## Install

```sh
npm install helpdeskjs
pnpm add helpdeskjs
yarn add helpdeskjs
bun add helpdeskjs
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.4 |
| Published | 2017-04-10 |
| First published | 2017-04-10 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Node | 7.2.0 |
| Dependencies | 27 |
| Known vulnerabilities | 0 (+34 in 4 direct dependencies) |
| Install scripts | no |
| GitHub stars | 1 |
| Author | silveridea |
| Maintainers | silveridea |
| Keywords | groovehq, silveridea, groove, helpdesk, helpdeskjs, silveridea.net, helpdesk software, simple helpdesk, simple ticket, ticket, ticket management, case, services, sell services, services ecommerce, services shopping |

## Links

- npm: https://www.npmjs.com/package/helpdeskjs
- Repository: https://github.com/silveridea/helpdeskjs
- Homepage: https://github.com/silveridea/helpdeskjs#readme
- Issues: https://github.com/silveridea/helpdeskjs/issues
- npm.io page: https://npm.io/package/helpdeskjs

## Dependencies (27)

- [async](https://npm.io/package/async.md) ^2.1.2
- [chalk](https://npm.io/package/chalk.md) ^1.1.3
- [lusca](https://npm.io/package/lusca.md) ^1.4.1
- [dotenv](https://npm.io/package/dotenv.md) ^2.0.0
- [github](https://npm.io/package/github.md) ^7.2.0
- [lodash](https://npm.io/package/lodash.md) ^4.16.6
- [moment](https://npm.io/package/moment.md) ^2.18.0
- [morgan](https://npm.io/package/morgan.md) ^1.7.0
- [multer](https://npm.io/package/multer.md) ^1.2.0
- [stripe](https://npm.io/package/stripe.md) ^4.12.0
- [express](https://npm.io/package/express.md) ^4.14.0
- [ejs-mate](https://npm.io/package/ejs-mate.md) ^2.3.0
- [mongoose](https://npm.io/package/mongoose.md) ^4.6.6
- [passport](https://npm.io/package/passport.md) 0.3.2
- [groove-api](https://npm.io/package/groove-api.md) ^1.0.10
- [nodemailer](https://npm.io/package/nodemailer.md) ^2.6.4
- [body-parser](https://npm.io/package/body-parser.md) ^1.15.2
- [compression](https://npm.io/package/compression.md) ^1.6.2
- [bcrypt-nodejs](https://npm.io/package/bcrypt-nodejs.md) ^0.0.3
- [connect-mongo](https://npm.io/package/connect-mongo.md) ^1.3.2
- [express-flash](https://npm.io/package/express-flash.md) ^0.0.2
- [passport-local](https://npm.io/package/passport-local.md) ^1.0.0
- [express-session](https://npm.io/package/express-session.md) ^1.14.2
- [express-validator](https://npm.io/package/express-validator.md) ^3.1.2
- [node-sass-middleware](https://npm.io/package/node-sass-middleware.md) ^0.10.0
- [passport-google-oauth](https://npm.io/package/passport-google-oauth.md) ^1.0.0
- [nodemailer-smtp-transport](https://npm.io/package/nodemailer-smtp-transport.md) ^2.7.2

## Alternatives

- [@mce/gif](https://npm.io/package/@mce/gif.md) — 2.6K weekly downloads
- [cleanse](https://npm.io/package/cleanse.md) — 173 weekly downloads
- [str](https://npm.io/package/str.md) — 127 weekly downloads
- [naming](https://npm.io/package/naming.md) — 95 weekly downloads
- [tap-telco-api](https://npm.io/package/tap-telco-api.md) — 19 weekly downloads

## Recent versions

- 1.0.4 (latest) — 2017-04-10
- 1.0.2 — 2017-04-10
- 1.0.0 — 2017-04-10

## README

# 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](https://www.groovehq.com) team subscription or trial account
- [Stripe](https://stripe.com/) subscription or dev subscription
- [MongoDB](https://www.mongodb.org/downloads)
- [Node.js 6.0+](http://nodejs.org)
- SMTP Connection


Installation
------------

```bash
# 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
```bash
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: 
  - 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 `.env` file 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

[by silveridea](http://www.silveridea.net/?utm_source=github&utm_campaign=link1)

---
_Source: https://npm.io/package/helpdeskjs · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
