Laravel 6.0 +
PHP 7.2 +
Composer
Banco de dados SQL
-
Clonar o projeto;
-
Criar e configurar um novo arquivo .env a partir do .env.example com os dados do banco;
-
Na pasta raiz do projeto, executar em sequência:
composer install
php artisan migrate --seed
php artisan key:generate
php artisan storage:link
- 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
- Copiar a pasta clonada chamada "vendor" para a pasta raíz do trabalho. Confirmar para substituir os arquivos.
- Rodar o comando na raiz do projeto:
php artisan serve
O mesmo estará rodando no seu http://localhost:8000.
Usuário: [email protected]
Senha: password
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.
- Para pegar o token de acesso, execute sua ferramenta de requisição favorita (Postman, Insomnia.. etc);
- 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 : *
- A resposta da API nos dá o "access_token". Copie o mesmo, vamos utilizá-lo agora para pegar os dados.
- Configure agora uma requisição GET, para o CRUD que desejar, por exemplo, http://localhost:8000/api/v1/chamados
- Configure no cabeçalho (HEAD) uma autenticação do tipo BEARER e cole seu acces_token.
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
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
- 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
-
Implementar notificação de Sucesso, Falha, etc
-
Melhorias visuais -> user friendly com manuais na view
-
Criar um item "novo chamado" no menu lateral para facilitar
-
Configurar Lifetime
-
TESTAR