O open lavravel week é um evento promovido pelo canal Beer And Code. Consiste em uma semana de lives onde é desenvolvido um projeto em Laravel.
O projeto desenvolvido foi um sistema em Laravel para consumir uma API de um catálogo de cervejas (PunkAPI).
- Trazer todas as opções de cerveja com filtros
- Exportação em excel
- Enviar arquivo excel exportado por e-mail
- Utilizar jobs para tarefas assincronas
- Utilização do front-end pronto disponibilizado
- PHP 7.4
- Laravel 8
- PunkApi
- Laravel Excel
- Faker Restaurant
- Mailtrap
- Breeze
- Vue.js
- MySql
1 - Baixar os arquivos do repositório utilizando git clone
2 - Instalar as dependências do projeto
componser install
3 - Editar o arquivo .env com as credencias do banco de dados
4 - Rodar as migrations
php artisan migrate
5 - Rodar seeder para criar usuário teste
php artisan db:seed --class=AdminUserSeeder
5 - Subir o servidor
php artisan serve
Api de cervejas.
Documentação da versão utilizada:
Pacote para exportação em excel.
composer require maatwebsite/excel
php artisan make:export BeerExport
Biblioteca para gerar opções de comida e bebida.
composer require jzonta/faker-restaurant
Ferramenta de testes com e-mail:
É um REPL (loop de leitura-avaliação-impressão). O REPL permite que os usuários interajam com o aplicativo por meio da linha de comando. É comumente usado para interação com o Eloquent ORM, trabalhos, eventos e muito mais.
php artisan tinker
- Passo 1:
composer require laravel/breeze:1.9.2
- Passo 2:
php artisan breeze:install vue
- Passo 3:
npm install
- Passo 4:
npm run dev
- Passo 5:
php artisan migrate
No arquivo package.json alterar a versão:
"laravel-mix": "^6.0.0",
E os comandos utilizados:
"scripts": {
"dev": "npm run development",
"development": "mix",
"watch": "mix watch",
"watch-poll": "mix watch -- --watch-options-poll=1000",
"hot": "mix watch --hot",
"prod": "npm run production",
"production": "mix --production"
},
No arquivo /app/Providers/AppServiceProvider.php no método boot acrescentar:
Schema::defaultStringLength(191);
Não esquecer de importar a classe Schema
php artisan make:controller BeerController
php artisan make:request BeerRequest
php artisan make:model Export -mr
php artisan make:factory MealFactory
php artisan make:seed MealSeeder
php artisan migrate:fresh --seed
php artisan make:mail ExportEmail
php artisan make:job ExportJob
php artisan queue:work