Skip to content

Opensource UVDesk Community Helpdesk Project Skeleton built for all to make a full Ticket support system.

License

Notifications You must be signed in to change notification settings

JPEconomy/community-skeleton

Repository files navigation

Latest Stable Version Total Downloads License Backers on Open Collective Sponsors on Open Collective connect on gitter

Uvdesk community helpdesk project skeleton packaged along with the bare essential utilities and tools to build and customize your own helpdesk solutions.

Visit our official demo website to see it in action!

Getting Started

About

Build on top of symfony and backbone.js, uvdesk community is a service oriented, event driven extensible opensource helpdesk system that can be used by your organization to provide efficient support to your clients effortlessly whichever way you imagine.

The standard distribution comes packaged along with the following helpdesk packages to cover a wide range of use-cases and requirements:

  • Core Framework - At the heart of the helpdesk system, the core framework consists of all the necessary apis required by your project and dependent packages to keep things running smoothly

  • Extension Framework - Introduces support for third-party package integration and development to easily build and extend the functionalities of your helpdesk system as per your requirements

  • Automation Bundle - Adds support for workflows and prepared responses to automate any specific operations within your helpdesk system

  • Mailbox Component - Convert and get all your emails to support tickets on UVDesk and manage customer query easily.

  • Support Center Bundle - Integrates the easily customizable support center portal to enable users to easily interact with the support staff through your helpdesk system

Reach out to us at our official gitter chat or forum for any queries, concerns and feature request discussions.

The development of the uvdesk community edition is led by the uvdesk team and backed by Webkul. Visit our website to learn more about the UVDesk Helpdesk System.

Documentation

Visit docs.uvdesk.com to read our official documentation and learn more about the uvdesk community project.

We use Jekyll to develop and maintain our documentations. Consider contributing by submitting a pull request to our project's jeykll repository.

Requirements

  • OS: Ubuntu 16.04 LTS or higher / Windows 7 or Higher (WAMP / XAMPP).
  • SERVER: Apache 2 or NGINX.
  • RAM: 3 GB or higher.
  • PHP: 7.2 or higher.
  • Processor: Clock Cycle 1 Ghz or higher.
  • For MySQL users: 5.7.23 or higher.
  • Composer: 1.6.5 or higher.
  • IMAP: PHP IMAP
  • MailParse: PHP Mailparse

Installation

The installation process is broken down into two distinct steps:

  • Setup
  • Configuration

Setting up your helpdesk project

In this step of the installation process, you'll be downloading the helpdesk project skeleton and installing all of its dependent components.

As per your convenience, you can choose to either use composer for download the project and install all its dependencies automatically or directly download the project archive that comes pre-packaged with all of the project dependencies already installed.

We recommend using composer over direct download whenever possible. However, if your system does not have enough ram to execute composer operations properly (for example: installing on a shared host with limited system resources), we suggest using the direct download method instead to mitigate these kind of issues.

Irrespective of the method you use, the process to configuring your helpdesk remains the same.

Composer

You can use composer to setup your project by simply running the following command from your terminal:

$ composer create-project uvdesk/community-skeleton helpdesk-project

Direct Download

Alternatively, you can also download the zip archive of the latest stable release and extract its content by running the following commands from your terminal:

$ wget "https://cdn.uvdesk.com/uvdesk/downloads/opensource/uvdesk-community-current-stable.zip" -P /var/www/
$ unzip -q /var/www/uvdesk-community-current-stable.zip -d /var/www/ \

Configuring your helpdesk project

After you've downloaded and installed all the project dependencies, you can configure your helpdesk installation using either of the following ways:

Using Terminal

$ php bin/console uvdesk:configure-helpdesk

Using Web Installer Wizard

After opening your project in the web browser, you will be greeted by the web installer which will guide you in configuring your project.

Docker Runtime

You can also dockerize your helpdesk project to easily deploy your setup from within a docker container.

To build an image, simply switch to your project's directory and run the following command:

$ docker build -t {IMAGE_NAME} .

Upon successfull execution, this will create a docker image with the specified tag using the -t option. You can use this image to deploy your helpdesk project using either docker run or docker-compose.

Deploying Containers

Containers can be launched using one of the two given methods:

Using Docker Run

You can simply launch a standalone container using the following command:

# If you wish to use a local database within container
$ docker run -dit -p {AVAILABLE_PORT}:80 \
    -e MYSQL_USER={MYSQL_USER} \
    -e MYSQL_ROOT_PASSWORD={MYSQL_ROOT_PASSWORD} \
    -e MYSQL_PASSWORD={MYSQL_PASSWORD} \
    -e MYSQL_DATABASE={MYSQL_DATABASE} \
    --name {CONTAINER_NAME} {IMAGE_NAME}

# If you wish to use an external database outside container
$ docker run -dit -p {AVAILABLE_PORT}:80 --name {CONTAINER_NAME} {IMAGE_NAME}

Using Docker Compose

Create a configuration file docker-compose.yaml and set it's configuration details as follows:

version: '3'
services:
    uvdesk:
        image: {IMAGE_NAME}:latest
        tty: true
        environment:
            MYSQL_USER: {MYSQL_USER}
            MYSQL_PASSWORD: {MYSQL_PASSWORD}
            MYSQL_ROOT_PASSWORD: {MYSQL_ROOT_PASSWORD}
            MYSQL_DATABASE: {MYSQL_DATABASE}
        ports:
            - {AVAILABLE_PORT}:80

Once you've created the configuration file, deploy your containers as services using the following command:

$ docker-compose up -d -f {PATH_TO_DOCKER_FILE}

References:

  • IMAGE_NAME: Name of the image to being build
  • CONTAINER_NAME: Name of the created container
  • AVAILABLE_PORT: Map port 80 (apache) within the container to an available port on your host
  • MYSQL_USER: MySQL user name
  • MYSQL_ROOT_PASSWORD: MySQL root user password
  • MYSQL_PASSWORD: MySQL user password
  • MYSQL_DATABASE: MySQL database name

License

All libraries and bundles included in the UVDesk Community Edition are released under the MIT license.

Security Vulnerabilities

Please don't disclose any security vulnerabilities publicly. If you find any security vulnerability in our platform then please write us at [email protected].

Contributions

This project is hosted on Open Collective and exists thanks to our contributors:

Backers

Thank you to all our backers! 🙏

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website.

About

Opensource UVDesk Community Helpdesk Project Skeleton built for all to make a full Ticket support system.

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 92.3%
  • Dockerfile 4.7%
  • Shell 3.0%