/allgood-ticketz

Chat based ticket system

Primary LanguageJavaScriptGNU Affero General Public License v3.0AGPL-3.0

Sobre o projeto

Ticketz é um comunicador com recursos de CRM e helpdesk que utiliza Whatsapp como meio de comunicação com os clientes.

Autoria original

Este projeto foi iniciado em um projeto Open Source sob a licença permissiva MIT, e recebeu diversas melhorias por autores não identificados, foi comercializado como produto "White Label" e de acordo com informações deste vídeo acabou em algum momento sendo vazado e publicado abertamente

É praticamente impossível identificar e creditar os autores das melhorias, o código publicado pelo canal Vem Fazer não menciona licença alguma portanto estou presumindo que todos os autores estão tranquilos em manter estas alterações sob a mesma licença do projeto original (MIT)

Relicenciamento

Como estou fazendo estas alterações e disponibilizando sem custo algum, desejo que elas estejam disponíveis a todos, por isso estou optando por relicenciar sob a AGPL, que exige que todo usuário que tenha acesso ao sistema possa obter o código fonte.

Por isso, se você utilizar diretamente esta versão, é muito importante manter o link na tela "Ajuda", que dá acesso ao repositório.

Caso você faça alterações no código você deve alterar o link para um repositório ou outra forma de obter o código das suas alterações.

Objetivo

Este projeto tem por objetivo melhorar e manter abertas as atualizações sobre o Whaticket SAAS publicado. Melhorias desenvolvidas por mim serão sempre colocadas aqui, dependendo posso transpor, sempre creditando, códigos e melhorias publicados em outros projetos também derivados do Whaticket Community ou do Whaticket SAAS.

Contribuições

Por melhor esforço, procurarei sempre listar aqui as contribuições incorporadas, creditando autorias, porém o melhor local para observar o que foi feito é o histórico do repositório.

  • 83f6713 Aceita documento anexado com legenda)
  • e8f4d32 Aceita mensagens editadas -- cherry pick de @Vinicius-Marques6 canove/whaticket-community#605
  • 60455d9 Mantém aberto e utiliza apenas um websocket com o backend
  • 30526b6 Um ticket novo ao invés de reabrir ticket fechado
  • 2b58d6c Execução através do docker compose - Múltiplos commits até esse ponto
  • 851bca1 Suporte recaptcha na inscrição de empresas

Rodando o projeto:

O projeto atualmente suporta execução utilizando containers Docker, para a instalação é necessário ter o Docker Community Edition e o cliente Git instalados. O ideal é buscar a melhor forma de instalar estes recursos no sistema operacional de sua preferência. O guia oficial de instalação do Docker pode ser encontrado aqui.

Em ambos os casos é necessário clonar o repositório, necessário então abrir um terminal de comandos:

git clone https://github.com/allgood/ticketz.git
cd ticketz

Rodando localmente

Por padrão a configuração está ajustada para executar o sistema apenas no próprio computador. Para executar em uma rede local é necessário editar os arquivos .env-backend-local e .env-frontend-local e alterar os endereços de backend e frontend de localhost para o ip desejado, por exemplo 192.168.0.10

Para executar o sistema basta executar o comando abaixo:

docker compose -f docker-compose-local.yaml up -d

Na primeira execução o sistema vai inicializar os bancos de dados e tabelas, e após alguns minutos o Ticketz estará acessível pela porta 3000

O usuário padrão é admin@admin.com e a senha padrão é 123456

A aplicação irá se reiniciar automaticamente a cada reboot do servidor.

A execução pode ser interrompida com o comando:

docker compose -f docker-compose-local.yaml down

Rodando e servindo na internet

Tendo um servidor acessível pela internet, é necessário ajustar dois nomes de DNS a sua escolha, um para o backend e outro para o frontend, e também um endereço de email para cadastro dos certificados, por exemplo:

É necessário editar os arquivos .env-backend-acme e .env-frontend-acme definindo neles estes valores.

Se desejar utilizar reCAPTCHA na inscrição de empresas também é necessário inserir as chaves secretas e de site nos arquivos de backend e frontend, respectivamente.

Este guia presume que o terminal está aberto e logado com um usuário comum que tem permissão para utilizar o comando sudo para executar comandos como root.

Estando então na pasta raiz do projeto, executa-se o seguinte comando para iniciar o serviço:

sudo docker compose -f docker-compose-acme.yaml up -d

Na primeira execução o Docker irá fazer a compilação do código e criação dos conteiners, e após isso o ticketz vai inicializar os bancos de dados e tabelas. Esta operação pode levar bastante tempo, depois disso o Ticketz estará acessível pelo endereço fornecido para oo frontend.

O usuário padrão é admin@admin.com e a senha padrão é 123456

A aplicação irá se reiniciar automaticamente a cada reboot do servidor.

Para encerrar o serviço utiliza-se o seguinte comando:

sudo docker compose -f docker-compose-acme.yaml down

Facilitou sua vida?

Se este projeto ajudou você em uma tarefa complexa, considere fazer uma doação ao autor pelo PIX abaixo.

image

Chave Pix: 80fd8916-1131-4844-917e-2732eaa2ba74