cybre-finn / BountyDesk

Helpdesk with bounty score for prioritizing

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BountyDesk

Build Status

This is currently not meant to be used in production.

BountyDesk aims to be a simplistic solution for (IT-) Helpdesk systems where Jira, Redmine and others seem too big. With this I aim for the IT-departments of e.g. schools.

Instead of admin/user privilege management, access/edit privileges are reputation based. It does only support ticket management and nearly nothing else. With the first stable release it may provide these features:

  • Public ticket endpoint
  • RESTful API and Backend
  • Email notification
  • Public/Private comments on support tickets
  • Seamless wiki integrations (as it provides no wiki)

Demo

bountydesk.herokuapp.com

Use admin/admin for an account with 100000 reputation.

Installation (using npm):

  1. git clone https://github.com/ikarulus/BountyDesk.git
  2. cd in your "BountyDesk" directory
  3. npm install
  4. Install MongoDB and Redis
  5. Wire up MongoDB and Redis database connection in the configuration file
  6. (Optional, for arch users) Start databases with ./start_dbs.sh. Must be executable. For other distros you have to find your own way.
  7. Launch via node app.js or npm start

Docker

Find the prebuilt Docker image on Dockerhub: https://hub.docker.com/r/ikarulus/dountydesk/

docker-compose

This project provides a docker-compose-yml. Use docker-compose up to pull and start the stack.

Security

I wouldn't deploy this in a large scale. As I'm not an experienced JS developer I can't guarantee for anything including slain kitten. I try to integrate several security best practises. See TODO. Please consider using SLL/TLS - e.g. via nginx reverse proxy and letsencrypt's free certificates.

TODO

first release

πŸ”‘: Security

  • ticket endpoint
    • integrate rate limiting for Public ticket endpoint πŸ”‘
  • tickets
    • assignment
    • reward distribution
    • blocked
    • improve API
      • dont send archived by default
  • node multithreading
  • security checklist πŸ”‘
    • xss
    • packages
    • intercept errors
  • rename application
  • validate forms
  • error/success messages
  • disable forms by reputation
  • search
  • status comments
  • email

later releases

  • wiki integration
  • Docker
    • Container
    • Compose
  • blocked diagram
  • backend tests πŸ”‘
  • status comments
    • public/internal
  • statistics endpoint
    • grafana integration

Screenshots

Screenshot

About

Helpdesk with bounty score for prioritizing

License:Mozilla Public License 2.0


Languages

Language:JavaScript 90.2%Language:HTML 9.6%Language:Dockerfile 0.1%Language:Shell 0.0%