Skip to content

douglaspaiani/testello

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Teste PHP - testello (Douglas Paiani)

Ambiente: Docker / PHP 8.1.0 / Laravel 9 / MySQL / phpmyAdmin / Composer (auto-instalado com o Docker)

A aplicação importa os dados do CSV para banco de dados em fila (Laravel Queue). São separdos em jobs, cada job faz o disparo de 1000 linhas, permitindo que o envio seja assícrono e sem timeout.

Utilizei o framework Laravel para criar as rotas e programar a fila, salvei em banco MySQL, disponibilizei o phpmyadmin num container que pode ser acessado por: http://localhost:8080 (server: mysql | user: root | pass: root)

O projeto está rodando na porta 80: http://localhost / http://localhost:80

Subindo Docker

Executar "docker-compose up" na raiz do projeto via terminal para subir os 3 containers (laravel | mysql | phpmyadmin)

Executando Migrations

Será necessário executar as migrations para montar banco de dados com a estrutura necessária para rodar a aplicação. Abra o terminal CLI do container LARAVEL e digite os seguintes comandos na ordem informada:

# cd laravel
# php artisan migrate

Importando CSV

Para importar o arquivo CSV para o banco de dados acesse: http://localhost e insira o arquivo no input file e clique no botão azul.

A próxima tela terá instruções para rodar a lista de jobs, visto que o supervisor não está rodando para manter os processos em andamento full-time.

Para rodar a lista manualmente acesse o terminal CLI do container laravel e digite os seguintes comandos:

# cd laravel
# php artisan queue:work

Após rodar a lista os dados serão salvos no banco de dados (database), na tabela DADOS.

Desenvolvido em um MacOs M1 Monterey 12.4

Meu portfólio

About

Teste para Uello

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published