Skip to content

[Projeto TCC] Software para controle de chamados Laravel (PHP e Javascript). Conta com gerenciamento de chamados, pessoas, setores e tarefas.

License

Notifications You must be signed in to change notification settings

herickwilke/weehelp

Repository files navigation

WeeHelp - Sistema de Chamados

alt text

Requisitos para rodar

Laravel 6.0 +
PHP 7.2 +
Composer
Banco de dados SQL

Instalação do projeto

  1. Clonar o projeto;

  2. Criar e configurar um novo arquivo .env a partir do .env.example com os dados do banco;

  3. Na pasta raiz do projeto, executar em sequência:

composer install
php artisan migrate --seed 
php artisan key:generate
php artisan storage:link

  1. Após este procedimento, ir para "Área de trabalho" ou outro destino que não seja a raiz do projeto e clonar o repositório:
git clone https://repositorio.faers.com.br/herickwilke/vendor
  1. Copiar a pasta clonada chamada "vendor" para a pasta raíz do trabalho. Confirmar para substituir os arquivos.

Executar o projeto:

  • Rodar o comando na raiz do projeto:
php artisan serve

O mesmo estará rodando no seu http://localhost:8000.

Fazer login:

Usuário: [email protected]
Senha: password


API REST

Foram criadas rotas e controladores capazes de efetuar ações para qualquer CRUD do sistema, utilizando o Laravel Resources. É necessário instalar o Laravel Passport, que providenciará um token para cada usuário poder se autenticar e trocar informações.

Vamos instalar o Laravel Passport:

php artisan passport:install

Ele retornará um código como este:

Encryption keys generated successfully.
Personal access client created successfully.
Client ID: 1
Client secret: KAY4k312yebafievTzWNQWuY4nUEDfvAqFRSQo0b
Password grant client created successfully.
Client ID: 2
Client secret: 1OSbOGyJsXgA1QlbCzL3cPv7LhJAUZuTcIRSbKmm

(O código acima é um exemplo. Cada nova instalação e perfil recebe um hash aleatório)
No banco de dados, foi criada uma tabela chamada "oauth_clients", onde ficam essas informações.
Estas credenciais serão usadas para mandar uma requisição POST para o sistema de autenticação retornar o token que vamos utilizar para comunicar com a API.

  1. Para pegar o token de acesso, execute sua ferramenta de requisição favorita (Postman, Insomnia.. etc);
  2. Configure-a para fazer exatamente a seguinte requisição POST, passando os parâmetros no BODY (multipart):
grant_type : password
client_id : 2
client_secret : (aqui você insere o client secret que gerou no passport logo acima)
username : [email protected]
password : password
scope : *

alt text


  1. A resposta da API nos dá o "access_token". Copie o mesmo, vamos utilizá-lo agora para pegar os dados.
  2. Configure agora uma requisição GET, para o CRUD que desejar, por exemplo, http://localhost:8000/api/v1/chamados
  3. Configure no cabeçalho (HEAD) uma autenticação do tipo BEARER e cole seu acces_token.

alt text

Pronto! Sua API REST está funcionando.

Para verificar todos os caminhos possíveis para troca de informação com a API REST, utilize o comando:

php artisan route:list

Notifications e E-mail

Para dispararmos notifications e enviar e-mails de redefinição de senhas, é necessário configurar no arquivo .env o servidor SMTP de envio de mensagens. Enquanto em desenvolvimento, o servidor utilizado está sendo o de testes "mailtrap.io". Para configurá-lo:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=a9139062930e35
MAIL_PASSWORD=85f4871f08c256
MAIL_ENCRYPTION=

Os campos MAIL_USERNAME e MAIL_PASSWORD devem ser configurados de acordo com a sua própria conta no servidor de e-mails, que pode ser criada acessando: https://mailtrap.io.

Checklist

(X) 1. Aba listar chamados finalizados

  1. Comentar código

(X) 3. Corrigir bug de exibir as divs ao invés do conteúdo na listagem de "descrição"

(X) 4. Implementar novos widgets do dashboard no controller

(X) 5. Finalizar o esqueceu-se da senha no login

  1. Implementar notificação de Sucesso, Falha, etc

  2. Melhorias visuais -> user friendly com manuais na view

  3. Criar um item "novo chamado" no menu lateral para facilitar

  4. Configurar Lifetime

  5. TESTAR

About

[Projeto TCC] Software para controle de chamados Laravel (PHP e Javascript). Conta com gerenciamento de chamados, pessoas, setores e tarefas.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published