• 00 – Início
  • 01 – Introdução e Instalação de Programas Base
  • 02 – Autenticação
  • 03 – Variáveis de Ambiente do Sistema
  • 04 – Configuração Directus Database
  • 05 – Instalação do Cadastramento

00 - Início#

Este projeto é um Ecosistema para Gerenciamento de Associações Terapêuticas de Cannabis Medicinal.

Desenvolvido pela Associação Sou Cannabis https://soucannabis.ong.br

Todos os sistemas do Ecosistema SouCannabis são Open Source e são interligados através do Cadastramento de Associados, uma estrutura completa para armazenamento de dados de associados, assinatura de termos de adesão, suporte para conversas por Whats’app e Email em um só canal para o time de acolhimento.

O ecossistema conta com quatro principais softwares:

– Cadastramento: Um formulário de cadastro criado através dos parâmetros observados no fluxo de cadastro de associados da Associação Sou Cannabis, tendo a funcionalidade de observar em qual passo do cadastro o associado se encontra, se ele apenas preencher os dados, se ele enviou os documentos, se ele assinou o termo de adesão e através disso poder auxiliar no seu processo de cadastramento.

https://github.com/soucannabis/ecosistemasoucannabis
https://github.com/soucannabis/ecosistemasoucannabis-server

– Directus: É um gerenciador de banco de dados de objetos que através de uma API robusta, armazena todos os dados dos associados no sistema, com ele é possível organizar, visualizar e editar todos os dados através de um layout simples e amigável. O Directus também pode ser usado de forma ‘headless’, permitindo que seu layout e suas funcionalidades sejam recriadas em outros sistemas através de uma conexão de API.

https://github.com/directus/directus

– Docuseal: É um sistema para gerenciamento de assinatura de termos de adesão online, que permite criar automaticamente um termo de adesão quando o associado preencher seus dados no formulário da cadastro.

https://github.com/docusealco/docuseal

– Chatwoot: É um sistema de gerenciamento de conversas, nele é possível configurar uma API não oficial do WhatsApp, permitindo ter vários atendentes em apenas um só número, organizando as conversas em categorias e distribuindo para os atendentes disponíveis.

https://github.com/chatwoot/chatwoot

01 - Introdução e Instalação de Programas Base#

Introdução:

Todos os sistemas possuem três formas de instalação:

  1.  Instalação manual em servidor Linux Ubuntu
  2.  Instação via Docker em qualquer servidor
  3.  Instalação via Ralway.app Server

 

Instalação manual: Para instalar Manualmente ou via Docker os softwares, Directus, Chatwoot e Docuseal, consulte o link do github na Home. Todos eles possuem uma grande comunidade assim como documentação de instalação em diversos servidores.

Atenção: O Chatwoot possui duas API’s, como se fossem plug-ins, que fazem a conexão com API não oficial do WhatsApp. A primeira, whatsapp-api, conecta com a API Baileys, que retorna os dados do Whats’app para a segunda API, a chatwoot-codechat, que faz a conexão com o Chatwoot. Consulte os links dos repositórios para mais detalhes sobre a configuração.

O Chatwoot é indicado para mais de 2 atendentes simultâneos.

 

Deploy on

Railway.app é um servidor que possui todos os softwares do Ecosistema SouCannabis, que podem ser criadaos através dos Railway Templates, permitindo instalar cada aplicação em poucos cliques. Caso opte pela instalação via Railway, faça o deploy clicando nos botões abaixo.

Para criar uma conta no Railway, você precisa informar seu Cartão de Crédito, porém terá o limite de $5 doláres por mês de consumo gratuito, sendo cobrado apenas quando execer este limite, que é o suficiente para rodar uma versão de teste do Ecosistema.

Guia de Instalação

O primeiro software a ser instalado é o Directus, seja no seu servidor ou através do Railway, ele precisa ser o primeiro da lista.

Ao fazer Deploy do Directus no Railway.app, não esquece de definir ADMIN_EMAIL variável de ambiente. Após a instalação a senha de acesso será criada na variavel de ambiente ADMIN_PASSWORD.

Segundo você instala Docuseal

Para instalar Docuseal via Railwapp, você precisa definir a variavel de ambiente SECRET_KEY_BASE  através de um hexadecimal aleatório. Isso serve como chave de criptografia dos documentos.

Se você estiver usando um sistema Linux  basta digitar openssl rand -hex 64 no terminal e copiar o código.

Se estiver usando outros sistemas, acesse:
https://www.uuidtools.com

Gere uma chave aleatória e preencha no Railway.

Depois Chatwoot

Para instalar Chatwoot, não há necessidade de criar variaveis de ambiente.

 

-> Após a instalação do softwares, siga para o próximo passo para obter os tokens de acesso aos aplicativos para fazer a conexão com o sistema de cadastro.

-> Consulte https://docs.railway.app/guides/public-networking para criar dóminios personalizados para suas aplicações, por padrão o Railway.app cria endereços de URL de acordo com o nome dos projetos.

02 - Autenticação#

Para fazer a conexão dos sistemas com o cadastramento é preciso obter os tokens de acesso de cada aplicativo.

No Directus: Clique no ícone do usuário no Menu Lateral. Role a página para baixo até o campo Token. Defina um novo Token de Acesso e salve.

No Docuseal: Clique em Settings, no topo da página, depois em API. Crie um X-Auth-Token.

No Chatwoot: Clique no icone do usuário no Menu Lateral, ao abrir as configurações vá para o final de página e copie o token gerado.

03 - Variáveis de Ambiente do Sistema#

As Variáveis de Ambiente são quem fazem a conexão entre os sistemas com o cadastramento de associados. Se você fizer a instação em seus servidor, você precisa informar todas as Variáveis de Ambiente corretamente como informado abaixo. Ao instalar via Railwayapp, quase todas as variaveis já estão configuradas automaticamente.

-> Como a instalação do Chatwoot é opicional, as variaveis de ambiente precisam ser informada no Railwayapp. <-

Variáveis do Front-end:

REACT_APP_URL= //URL de instalação do Cadastramento

REACT_APP_SERVER_URL= //URL de instalação do Cadastramento Server

REACT_APP_SERVER_API_TOKEN= //Cadastramento Server API Token

REACT_APP_DIRECTUS_API_URL= //URL do Directus

REACT_APP_DIRECTUS_API_TOKEN= //Token do Directus

REACT_APP_DOCUSEAL_URL= //URL de instalação do Docuseal

REACT_APP_PASS_ENCRYPT= //Senha aleatória para criação de criptografia

WDS_SOCKET_PORT=0 //Variavel para funcionamento correto de Websockets

 

Variáveis do Back-end:

DIRECTUS_API_URL= //URL do Directus

DIRECTUS_API_TOKEN= //Token do Directus

CORS= // URL do Cadstramento

PASS_ENCRYPT= //Senha aleatória para criação de criptografia

PORT=8055 #Porta do Servidor, por padrão 8055

Se tiver o Chatwoot

CHATWOOT_URL= //Chatwoot URL

CHATWOOT_API_URL= //URL da API do Whats’app

CHATWOOT_INSTANCE_NAME= //Nome da Instancia

CHATWOOT_API_KEY= //Chatwoot API key

CHANNEL_ID= // Canal de atendimento no Chatwoot

CHATWOOT_ACCOUNT_ID= //Número da conta no Chatwoot

CHATWOOT_TOKEN= // Token do Chatwoot

04 - Configuração Directus Database#

Para que o banco de dados funcione corretamente é preciso criar algumas tabelas para receber os dados do usuário, para fazer isso basta acessar o link abaixo:

-> Criar Banco de Dados pelo Glitch <-

Crie um conta no Glitch.

Ao acessar o código em index.js, informe a Url do Directus e o Token de Acesso.

Em seguida abra o

Digite npm install  para instalar os pacotes.

Após a instalação digite npm start para rodar a configuração do banco de dados.

 

Pronto, agora o Directus está configurado para receber os associados.

O próximo passo é fazer Login no Directus.

Ao logar clique no ícone e depois no banco de dados Users_API, clicando no ícone , crie um novo Usuário de API.

Digite apenas Nome e Email, o TOKEN será criado automaticamente.

Guarde este Token, ele será usando na instalação do Cadastro de Associados

05 - Instalação do Cadastramento#

Agora que você já tem todos os dados de autenticação podemos instalar o sistema de cadastramento.

IMPORTANTE: Após instalar o Cadastramento Server, entre nas configurações do Docuseal/Webhooks e informe o endereço de webhook  {URL_DO_BACKEND/api/docuseal/assign-contracts}, isso server para que o Cadastramento receba a notificação de assinatura do termo pelo Associado.

Instalação Com Railway:

Ao fazer o Deploy com Railway, você precisa configurar 5 variaveis de ambiente, como mostrado no servidor.

Front-end

Back-end

Ao fazer o deploy, o Cadastramento de Associados se conecta aos demais softwares formando o Ecosistema.

Instalação Manutal do Cadastramento:

    • git clone https://github.com/soucannabisdev/ecosistemasoucannabis
    • cd ecosistemasoucannabis
    • npm install
    • Crie um arquivo .env com as seguintes variaveis de ambiente
    • npm start

 

REACT_APP_URL= //URL de instalação do Cadastramento

REACT_APP_SERVER_URL= //URL de instalação do Cadastramento Server

REACT_APP_SERVER_API_TOKEN= //Cadastramento Server API Token

REACT_APP_DIRECTUS_API_URL= //URL do Directus

REACT_APP_DIRECTUS_API_TOKEN= //Token do Directus

REACT_APP_DOCUSEAL_URL= //URL de instalação do Docuseal

REACT_APP_PASS_ENCRYPT= //Senha aleatória para criação de criptografia

WDS_SOCKET_PORT=0 //Variavel para funcionamento correto de Websockets

Instalação do Servidor:

    • git clone https://github.com/soucannabisdev/ecosistemasoucannabis-server
    • cd ecosistemasoucannabis-server
    • npm install
    • Crie um arquivo .env com as seguintes variaveis de ambiente
    • npm start

 

DIRECTUS_API_URL= //URL do Directus

DIRECTUS_API_TOKEN= //Token do Directus

CORS= // URL do Cadstramento

PASS_ENCRYPT= //Senha aleatória para criação de criptografia

PORT=8055 #Porta do Servidor

 

Se tiver Chatwoot Instalado

CHATWOOT_URL= //Chatwoot URL

CHATWOOT_API_URL= //URL da API do Whats’app

CHATWOOT_INSTANCE_NAME= //Nome da Instancia

CHATWOOT_API_KEY= //Chatwoot API key

CHANNEL_ID= // Canal de atendimento no Chatwoot

CHATWOOT_ACCOUNT_ID= //Número da conta no Chatwoot

CHATWOOT_TOKEN= // Token do Chatwoot