Criar Layout no Laravel
Como usar section, yield e extends com Laravel
-
dentro do diretório views, criar diretório layouts
-
após criar o template com yield, nas views utilizar extends e section



Como incluir Bootstrap no Laravel
-
salvar os arquivos no projeto de forma local, dentro de public/css e public/js
-
incluir os arquivos no arquivo de layout

Como incluir o layout SB Admin
- ajustes no arquivo de layout utilizando o SB Admin (com bootstrap 5)
Como incluir a biblioteca de ícone Font Awesome
- incluindo arquivos css e js na pasta public/css e public/js
Criar o layout da página listar
Criar o layout da página visualizar
Criar o layout do formulário cadastrar e editar
Paginação no Laravel com Bootstrap 5
-
ao incluir bootstrap no projeto, a paginação padrão do laravel fica desconfigurada
-
necessário utilizar laravel pagination
-
app/Providers/AppServiceProvider.php

- limitar a quantidade de páginas antes e depois da página atual


Apresentar e ocultar coluna com Bootstrap
- responsividade (classes html bootstrap)
Alterar layout do administrativo
Deixar selecionado o item de menu - 04/03/24 (H)
-
incluir nas controllers, nos métodos que carregam/retornam view, um array com uma informação para validar no sidebar do arquivo admin.blade.php. Se existir a informação na view, será carregado a classe css ‘active’ para destacar na sidebar
-
não é necessário incluir nos métodos onde retorna redirect.



Instalar Node.js no Windows - 04/03/24 (H)
Incluir Bootstrap, CSS e JavaScript com Vite - 04/03/24 (H)
-
não há como visualizar o código fonte dos arquivos css/js ao utilizar vite
-
instalar as dependências do Node.js (arquivo package.json)
npm install
- instalar bootstrap c/ vite
npm i --save bootstrap @popperjs/core- instalar dependência adicional sass
npm i --save-dev sass- incluir o framework bootstrap no arquivo bootstrap.js

-
após isso, remover os includes bootstrap css e js no arquivo admin.blade.php (tag link e tag script)
-
na sequência, incluir o vite no arquivo admin.blade.php

- agora como temos dependências do node no projeto, necessário executar server de desenvolvimento npm com o comando abaixo
npm run dev-
agora, os arquivos css/js não serão mais públicos. Apagar arquivos css do bootstrap da pasta public/css e public/js
-
transferindo os arquivos css da pasta public (disponível para o usuário visualizar) para a pasta resources (não será mais disponível para o usuário)


-
apagar o arquivo restante all.min.js da biblioteca fontawesome, dentro da pasta public/js
-
instalar a biblioteca fontawesome com npm
-
‘—save’ indica que a dependência será considerada no arquivo package.json pois é uma dependência que será utilizada em produção
npm i --save @fortawesome/fontawesome-free
- após toda a configuração das dependências com vite (css, js, fontawesome), remover as tags link e script do arquivo admin.blade.php


- após a instalação do fontawesome via npm, necessário importar no arquivo resources/css/app.css

Personalizar logo do site
-
criar pasta images dentro da pasta public e inserir um arquivo favicon.ico
-
incluir a imagem dentro de layouts/admin.blade.php

Criar máscara para o campo moeda - 04/03/24 (H)
-
dentro da pasta resources/js, criar um arquivo scripts_admin.js, importar o novo arquivo dentro de app.js
-
após configurar o js, banco dropado (DROP database u893612743_laravel10;) e executado os comandos abaixo
php artisan migratephp artisan db:seed- após executar os comandos, tentamos cadastrar novo curso, e tivemos o erro abaixo

-
isso acontece pois configuramos a parte do frontend (javascript) da máscara para o campo moeda, porém o backend está tentando cadastrar um número com vírgula.
-
necessário ajustar na controller método cadastrar (store e update)

-
o campo preco está cadastrado como double(8, 2) no banco de dados, abaixo incluir validação de quantidade caracteres em CursoRequest.php
-
incluído begin transaction, commit/rollback e try catch nos métodos store e update do CursoController e AulaController
-
incluído log em todos os métodos restantes
Criar componente alerta - 05/03/24 (W)
- criar componente laravel dentro da pasta resources/views/components

Criar a página dashboard
-
incluir rota dashboard no arquivo routes/web.php
-
criar controller DashboardController
-
criar pasta dashboard dentro de resources/views e arquivo index.blade.php
Criar o CRUD dos usuários - 05/03/24 (H)
-
criar as rotas relacionadas a usuários
-
criar a controller UsuarioController (copiada do arquivo CursoController)
-
renomear model User para Usuario (pois as controllers estão em pt-br)
-
ajustar os métodos da controller UsuarioController
-
criar o UsuarioRequest
-
criar as views dentro de uma nova pasta chamada usuarios
-
ajustar no componente de layout (admin.blade.php) o item de menu usuarios

- necessário criar uma Traits para utilizar timestamp personalizado pt-br para a model Usuario, pois não conseguimos utilizar extends para mais de 1 classe. Obs: necessário ajustar os arquivos/models BaseTimestamp, Curso e Aula

-
criar seeder UsuarioSeeder.php (copia de CursoSeeder)
-
dentro do arquivo seeder (UsuarioSeeder.php) é necessário utilizar Hash para gerar a senha criptograda

- para conseguir executar o UsuarioSeeder com o comando php artisan db:seed, necessário incluir dentro do arquivo DatabaseSeeder.php

- já nos métodos da controller (UserController.php), não é necessário utilizar Hash para gerar a senha criptografada

- é possível validar o formulário no próprio método, ao invés de validar no arquivo Request (exemplo UserRequest.php)

********************** OBS: FEITO OS MÉTODOS INDEX E SHOW
-
incluído em UsuarioController.php os métodos create, store, edit, update, editPassword, updatePassword, destroy
-
incluído auditable na model Usuario.php para salvar as informações de log no banco de dados