Essa API foi desenvolvida utilizando o Framework Laravel. Seu propósito é para cadastro de vendedores e vendas, com cálculo de comissões e disparo de relatório no final do dia.
API para cadastro de vendedores e cálculo de comissão. Disparo de e-mail para os vendedores cadastrados, com resumo consolidado das vendas diárias.
Caso você não utilize o Homestead, é necessário os seguintes requisitos para utilização dessa API:
- PHP >= 7.2.0
- BCMath PHP Extension
- Ctype PHP Extension
- JSON PHP Extension
- Mbstring PHP Extension
- OpenSSL PHP Extension
- PDO PHP Extension
- Tokenizer PHP Extension
- XML PHP Extension
É altamente recomendado a utilização do Homestead para uso local.
Após clonar esse projeto, você precisará configurar algumas permissões. Diretórios como o "storage" e "bootstrap/cache" precisam de permissão de escrita (755) ou o Laravel não irá funcionar. Caso você esteja utilizando o Homestead, essas permissões são configuradas automaticamente.
chmod -R 755 storage
chmod -R 755 bootstrap/cache
Se você instalou o Laravel utilizando o Composer ou a instalação do Laravel, a chave foi configurada automaticamente. Se precisar gerar uma nova chave, utilize o seguinte comando:
php artisan key:generate
Se você não configurar a Application Key, sessão e outros dados de usuários não estarão seguros!
Abra o arquivo ".env" e altere as seguintes informações:
DB_CONNECTION=mysql
DB_HOST=Endereço do Banco
DB_PORT=3306
DB_DATABASE=Nome do Banco
DB_USERNAME=Usuário
DB_PASSWORD=Senha
MAIL_DRIVER=smtp
MAIL_HOST=Endereço SMTP
MAIL_PORT=2525
MAIL_USERNAME=Usuário
MAIL_PASSWORD=Senha
MAIL_ENCRYPTION=null
É recomendado o MailTrap.io para testes locais.
Acesse \app\Kernel.php
- Na linha "->dailyAt('18:00')", altere 18:00 para o horário que desejar.
Não se esqueça de rodar o comando "php artisan relatorioDiario:cron".
Após configurar o arquivo .ENV, é necessário executar os seguintes comandos:
php artisan cache:clear
php artisan migrate
Para utilização do Homestead, utilize:
vagrant up
Rotas dos serviços disponíveis:
[GET] /api/vendedores
- Listar todos os Vendedores
[POST] /api/vendedores/cadastrar
- Criar Vendedor
- Parâmetros de entrada: nome, email
[POST] /api/vendedores/remover
- Excluir Vendedor
- Parâmetros de entrada: id
[GET] /api/vendas
- Listar todas as vendas
[GET] /api/vendas/{vendedor_id}
- Listar todas as vendas de um vendedor
[POST] /api/vendas/lancar
- Lançar nova Venda
- Parâmetros de entrada: vendedor_id, valor
[POST] /api/vendas/remover
- Excluir uma venda
- Parâmetros de entrada: id
Lucas Ronaldo de Almeida
This project is licensed under the MIT License - see the LICENSE.md file for details