Download the PHP package agenciamaior/laravel_boilerplate without Composer
On this page you can find all versions of the php package agenciamaior/laravel_boilerplate. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download agenciamaior/laravel_boilerplate
More information about agenciamaior/laravel_boilerplate
Files in agenciamaior/laravel_boilerplate
Package laravel_boilerplate
Short Description Template padrão para início de projetos com Laravel
License
Informations about the package laravel_boilerplate
Laravel Boilerplate
Biblioteca para gerar um template padrão de um painel administrativo baseado em AdminLTE 3. Já vem com algumas funções pré-definidas, como: controle de usuários, campos com máscara, etc.
Índice
- Dependências
- Instalação
- Recursos disponíveis
- Formulários
- Login
- Perfis de usuário
- Template
- ACLs
- Usuários
- Rotas
- UI
- Máscaras
- Datepicker
- Select2
- Editor
- Validações
- Confirmable
- Animação no submit do formulário
- Parsers
- Estados Brasileiros
- Bibliotecas utilizadas
Dependências
Instalação
Após baixar o pacote via Composer, você deve rodar o comando abaixo para instalar a biblioteca:
AVISO: A instalação da biblioteca vai substituir VÁRIOS arquivos dentro das pastas do seu projeto Laravel. Recomenda-se executar esse comando numa instalação limpa do Laravel.
A instalação pode levar algum tempo, já que vários pacotes NPM serão baixados para seu projeto.
Essa biblioteca não instala nem configura nenhum banco de dados no seu projeto. Você deve fazê-lo manualmente como faria com qualquer outro projeto recém-criado do Laravel.
A instalação roda automaticamente o comando php artisan make:auth
para gerar um sistema de Autenticação com algumas migrations já pré-configuradas para uma tabela de usuários, modificada para adicionar alguns campos a mais dos que já vêm na instalação padrão do Laravel.
Após a instalação, você pode executar as migrations através do comando:
A instalação copia vários arquivos de estilos e scripts para dentro da pasta resources. O arquivo de estilo se encontra em resources/sass/_boilerplate.scss e você deve importa-lo manualmente dentro do arquivo resources/sass/app.scss:
Depois de importado, você deve compilar os scripts através do comando:
Ou, se você preferir que a compilação seja feita automaticamente toda vez que um asset for modificado, execute e deixe rodando o comando:
No seu arquivo de rotas routes/web.php, aponte o endereço raiz para a Home:
Antes:
Depois:
A instalação adiciona automaticamente suas próprias rotas. Na seção Rotas dentro desse documento, você pode saber como sobrescrever essas rotas.
Recursos disponíveis
Formulários
Todos os formulários dentro das views utilizam a biblioteca BootstrapForms. Para ler a documentação completa dessa biblioteca, clique aqui.
Login
Ao entrar pela primeira vez, o sistema vai pesquisar na tabela de usuários se ela está vazia. Se estiver, você será apresentado a uma tela para cadastrar o primeiro usuário do tipo Administrador.
Esse formulário já conta com uma validação via javascript através da biblioteca jQuery Validation.
Se houverem usuários cadastrados na tabela, você será redirecionado para a tela de login normalmente.
O layout dessa página pode ser encontrado e modificado livremente em /resources/views/auth/login.blade.php.
Perfis de usuário
Essa biblioteca utiliza constantes numéricas para representar os perfis de usuário, são esses:
- Administrador => 0
- Usuário comum => 1
Essas constantes são definidas dentro do model app/User.php:
Você pode adicionar novos perfis ou alterar os existentes se preferir. Essas constantes são salvas num campo role do tipo INTEGER dentro da tabela users (gerado pela migration da instalação).
A função getRoleStringAttribute é um Accessor para se obter a representação em formato texto do perfil do usuário. Para saber mais sobre Accessors no Laravel, consulte a documentação.
Exemplo de utilização das constantes:
Exemplo de utilização do Acessor:
Template
Todos os templates se encontram dentro de /resources/views/boilerplate. Dentro desse diretório, existe um template master onde podem ser adicionadas as meta tags do projeto, assim como alterar o título e outros atributos globais da página.
O template raw é usado para telas de login e outras páginas com o mesmo formato.
As demais páginas vão herdar do template page.
Para alterar o menu, acesse a view main-menu dentro desse diretório. Na seção Menu, você pode ver mais detalhes sobre como adicionar itens do menu.
Estrutura da view resources/views/home.blade.php, seguindo o template da biblioteca:
Estilos e Scripts
Os arquivos de estilo se encontram dentro de resources/sass/_boilerplate.scss. Como mencionado na instalação, esse arquivo não é importado automaticamente para dentro de resources/sass/app.scss para não causar conflitos com os estilos atuais do seu projeto. Para importa-lo, utilize no arquivo app.scss o comando:
Você vai precisar resolver manualmente qualquer conflito de estilos que surgir depois dessa importação.
Ao contrário do arquivo de estilos, o arquivo de scripts resources/js/boilerplate.js já é adicionado automaticamente ao final do arquivo resources/js/bootstrap.js.
Assim, você pode definir seus próprios estilos e scripts globais separadamente dos fornecidos pela biblioteca, mas nada impede que você possa modificar esses arquivos, se assim desejar.
Os estilos e scripts específicos por página podem ser colocados em suas respectivas @section
dentro das views.
Menu
O template do menu se encontra em resources/boilerplate/main-menu.blade.php. No começo desse arquivo, duas variáveis são geradas para identificar qual o Controller atual e qual a Action atual, com isso, é possível tornar o menu ativo quando a página estiver aberta no seu respectivo item de menu.
Exemplo de um novo item de menu:
A biblioteca utiliza os ícones do FontAwesome, mas você pode utilizar qualquer outra biblioteca de ícones que desejar.
Excemplo de um novo grupo com dois itens de menu:
Todas as outras opções de menu podem ser visualizadas na página oficial da biblioteca AdminLTE 3.
ACLs
A instalação cria automaticamente uma Policy para o Model de Usuários em app/Policies/UserPolicy.php, que já é importada automaticamente pra dentro do arquivo app/Providers/AuthServiceProvider.php. As demais Policies devem ser criadas e importadas manualmente. Para saber mais sobre Policies, consulte a documentação do Laravel.
Uma diretiva padrão para permitir que o usuário administrador tenha acesso a qualquer coisa também já é adicionada ao AuthServiceProvider.php:
Exemplos de uso das Policies
Usuários
A biblioteca gera um CRUD simples de Usuários. Suas views podem ser visualizadas ou modificadas em resources/views/users e seu respectivo controller em app/Http/Controllers/UsersController.php.
A lista de usuários utiliza o plugin jQuery DataTables.
Essa área também conta com a função de bloquear/desbloquear os usuários.
Por padrão, você não pode bloquear ou excluir o seu próprio usuário nessa lista. Esse comportamento pode ser alterado dentro dessa mesma view.
Perfil
A biblioteca tem uma página de Perfil, onde você pode alterar sua senha ou enviar uma foto de avatar. Se nenhuma foto for enviada, será usado um placeholder com as primeiras letras do seu nome e sobrenome. Esse comportamento pode ser alterado no Accessor getAvatarAttribute() dentro do model app/User.php.
Rotas
A instalação vai adicionar, ao final do arquivo routes/web.php, o seguinte comando:
Que consiste das seguintes rotas:
Qualquer uma dessas rotas pode ser sobrescrita, contanto que sejam definidas antes do comando acima.
UI
Máscaras
As máscaras utilizam as bibliotecas jQuery MaskPlugin e MaskMoney.
Para utilizar essas máscaras, adicione a respectiva classe ao campo:
- .cpf-mask - CPF (000.000.000-00)
- .cnpj-mask - CNPJ (00.000.000/0000-00)
- .cpf-cnpj-mask - CPF ou CNPJ no mesmo campo, muda a medida que você vai digitando
- .tel-ddd-mask - Telefone com DDD, aceita com ou sem o dígito 9 ((00) 00000000 ou (00) 900000000)
- .cep-mask - CEP (00000-000)
- .time-mask - Horas, formato horas:minutos (00:00)
- .date-mask - Data, formato dia/mês/ano (99/99/9999)
- .money-mask - Dinheiro (R$ 999.999,99)
- .number-mask - Número com casas decimais (999.999,99)
- .percent-mask - Porcentagem (999,99%)
Você pode ver um exemplo de utilização das máscaras nesse link.
A configuração das máscaras pode ser alterada em resources/js/boilerplate.js.
Datepicker
Adicione a classe .datepicker a um campo para utilizar o Datepicker da biblioteca jQueryUI.
Obs.: A classe .date-mask pode ser usada em conjunto com o Datepicker.
Você pode ver um exemplo de utilização do Datepicker nesse link.
A configuração do Datepicker pode ser alterada em resources/js/boilerplate.js.
Select2
Adicione a classe .select-2 a um campo do tipo Select para utilizar o Select2.
Você pode ver um exemplo de utilização do Select nesse link.
A configuração do Select2 pode ser alterada em resources/js/boilerplate.js.
Editor
Acidione a classe .editor a um campo do tipo TextArea para utilizar o Summernote.
Você pode ver um exemplo de utilização do Select nesse link.
A configuração do Editor pode ser alterada em resources/js/boilerplate.js.
Validações
Essa seção descreve algumas validações customizadas para serem utilizadas na biblioteca jQuery Validation.
Todas as validações podem ser alteradas em resources/js/boilerplate.js.
dateBR
Valida um campo para uma data válida no formato dd/mm/aaaa.
Exemplo:
Um exemplo de utilização desse validator pode ser visto nesse link.
period
Valida um campo de data em relação a outro campo de data para um período válido entre os dois.
Exemplo:
Um exemplo de utilização desse validator pode ser visto nesse link.
filesize
Valida um campo do tipo File para um tamanho de arquivo específico, em Megabytes.
Exemplo:
cpf
Valida um campo contendo a máscara .cpf-mask para um CPF válido, utilizando a validação de módulo 11.
Exemplo:
cnpj
Valida um campo contendo a máscara .cnpj-mask para um CNPJ válido, utilizando a validação de módulo 11.
Exemplo:
cpfCnpj
Valida um campo contendo a máscara .cpf-cnpj-mask para um CPF/CNPJ válido, utilizando a validação de módulo 11.
Exemplo:
Um exemplo de utilização desses validators pode ser visto nesse link.
editorRequired
Verifica se um campo contendo a máscara .editor está vazio ou não.
Exemplo:
Um exemplo de utilização desse validator pode ser visto nesse link.
Confirmable
Adicione a classe .confirmable a qualquer botão ou link para adicionar uma janela de confirmação a ele. Essa função é muito usada em botões de excluir.
Animação no submit do formulário
Por padrão, ao fazer o submit de um formulário, o botão de submit vai ficar desabilitado e o texto dentro dele será substituído por um spinner. Isso impede o usuário de clicar várias vezes no botão de submit.
Para desabilitar esse comportamento, adicione a classe .without-spinner à tag <form>
da sua página.
Parsers
Dentro do arquivo app/Http/Controller/Controller.php, a instalação vai copiar duas funções para transformar datas e valores do tipo dinheiro.
Exemplo de utilização dentro de um Controller:
Estados Brasileiros
Dentro do arquivo app/Http/Controller/Controller.php, a instalação vai copiar um array com todos os estados brasileiros e suas respectivas siglas:
Exemplo de utilização num Select:
Bibliotecas utilizadas
All versions of laravel_boilerplate with dependencies
agenciamaior/bootstrap_forms Version >=0.0.1
doctrine/dbal Version >=2.9