Skip to content

evertonpaiva/laravel-8-livewire

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projeto Template de Laravel 8

Projeto template desenvolvido em Laravel 8, para servir de guia de práticas para futuros projetos. Integração com os microsserviços de UFVJM.

Sumário

Pré-requisitos

Instalado no computador:

  • git
  • docker
  • docker-compose

Instalando git

Instalar

sudo apt-get install aptitude
sudo aptitude install git

Instalando docker

Instalar

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

Instalando docker-compose

Instalar

sudo curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Dar permissão para o seu usuário executar docker sem precisar de sudo:

sudo usermod -aG docker $USER

IMPORTANTE: será necessário reiniciar a sessão (deslogar e logar novamente).

Alias sail

Edite o arquivo de configuração do seu terminal (Ex: bash: ~/.bashrc) e adicione um alias para a execução do sail:

alias sail='bash vendor/bin/sail'

Depois carregue a configuração:

source ~/.bashrc

Depois disso, sempre que estiver na raiz do seu projeto, poderá acessar diretamente o sail com o alias configurado.

Gerar chave de SSH

Caso não tenha, gerar a chave de ssh (substituir o email):

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Pegar o conteúdo da sua chave pública (.pub) e adicionar no Gitlab no seu Perfil

Conteúdo da chave:

cat ~/.ssh/id_rsa.pub

Baixar código fonte

Testando se não existe pasta para o código fonte

if [ ! -d ~/laravel ]; then
    echo -e "Criando pasta para armazenar códigos das aplicações laravel"
    mkdir ~/laravel
fi

Entrando no diretório e baixando:

cd ~/laravel
git clone [email protected]:dds/laravel-8-dds.git
cd laravel-8-dds

Gerar arquivo .env

cd ~/laravel/laravel-8-dds
if [ ! -f .env ]; then
    echo -e "Gerando arquivo .env"
    cp .env.example .env    
fi

Client Id e Client Key da Aplicação

Lançar os valores corretos para os arquivos da integração com os microsserviços no arquivo .env. Substituir os valores de GRAPHQL_APP_ID e GRAPHQL_APP_KEY para os valores cadastrados na stack de Microsserviços DTI/DDS.

GRAPHQL_ENVNAME=teste
GRAPHQL_APP_ID=
GRAPHQL_APP_KEY=

Instalar as dependências

Instalar as dependências do projeto:

cd ~/laravel/laravel-8-dds
docker run --rm -v $(pwd):/app composer/composer install

Configurar git hooks

Configurando localmente scripts hook do git para executar automaticamente validações de código:

cd ~/laravel/laravel-8-dds

# copiando scripts
cp hooks/* .git/hooks

# adicioando permissao de execucao
chmod +x .git/hooks/*

Logar no hub

Logar no hub do repositório do DDS - UFVJM (só precisar ser executado uma vez) Alterar nome.sobrenome para seus dados da conta institucional

docker login -u nome.subrenome hub.dds.ufvjm.edu.br

Deverá ser retornado Login Succeeded.

Instalação

Iniciar os serviços

Iniciar os containers dos serviços

sail up -d
  • Atenção: caso alguma porta já esteja ocupada por outro serviço, você pode alterá-a no arquivo .env e escolher outra. Ex: Bind for 0.0.0.0:8090 failed: port is already allocated

BrowserSync

Utilizando a ferramenta BrowserSync, seu navegador ficará conectado no servidor web, desta forma todas as atualizações da área de desenvolvimento serão carregadas automaticamente no seu navegador.

# iniciar o browserync
sail npm run watch

Acessar o ambiente através da URL fornecida no campo External (Ex: http://172.25.0.6:8090).

Processar a fila de jobs

Processar a fila de jobs do servidor:

sail artisan queue:work

Reconstruir os serviços

Caso seja necessário reconstruir a imagem docker e subir os serviços novamente:

# parar os servicos
sail stop

#subir os servicos novamente recriando as imagens
sail up --build -d

Criar/Atualizar banco de dados

Criar ou autalizar a estrutura do banco do dados e fornecer os dados iniciais:

sail artisan migrate:refresh --seed

Corrigir permissões nos arquivos

echo -e "\nCorrigindo permissões na pasta da aplicação"
sudo chown "${USER}":101 -R .
sudo chown 1000:101 -R storage coverage bootstrap/cache
sudo chmod g+w -R storage coverage bootstrap/cache

Parar os serviços

sail down

Referências

Laravel

Laravel 8

Jetstream e Livewire

Jetstream e Livewire

Template Larawind

Repositório do template Larawind: github.com/miten5/larawind

Laravel IDE Helper

Arquivos para melhorar o autocomplete da IDE:

Laravel IDE Helper

Spatie - Laravel Permission

Instalação e configuração do spatie/laravel-permission

Criar usuário admin:

Substituir o valor da propriedade containstitucional:

# acessar o tinker
sail tinker

# recuperar o usuario
$user = \App\Models\User::where('containstitucional', 'everton.paiva')->first();

# adicionar perfil no usuario
$user->assignRole('Admin');

Laravel Eloquent Query Cache

Adiciona as funcionalidades de cache diretamente a nível de Eloquent, usando cache nas consultas de banco de dados.

github.com/renoki-co/laravel-eloquent-query-cache

Rebrow - Python-Flask-based Browser for Redis Content

Ferramenta gráfica para visualização do conteúdo do Redis

github.com/marians/rebrow

Livewire Select

Selection com busca dinâmica

Livewire Select

Tutoriais

Laravel 8 - Limewire - Building a Simple CMS

Fonte: Laravel 8 - Building a Simple CMS

Repositório oficial: github.com/jackoftraits/laravel8-with-livewire

Laravel 8 - Jetstream - CRUD com TDD

Fonte: CRUD com TDD usando Laravel Jetstream com Livewire

Repositório original: github.com/Laravel-Road/crud-contacts

Erros

Erro Unable to call lifecycle method [mount] directly on component: [contacts.contact-new] nos testes, conferir este post.

Drehimself

Repositório original: github.com/drehimself/lc-livewire-examples

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published