Skip to content
/starterPublic template

Projeto starter com Laravel e bibliotecas USPDev

Notifications You must be signed in to change notification settings

uspdev/starter

Repository files navigation

Starter versão 2

Aplicação esqueleto para novos projetos utilizando Laravel 11.

Para utilizar Laravel 8, veja a versão 1.


Esta aplicação é um esqueleto que já tem as principais bibliotecas USPDev pré configuradas:

"uspdev/laravel-replicado": "^1.0" "uspdev/laravel-tools": "^1.2" "uspdev/laravel-usp-theme": "^2.7" "uspdev/senhaunica-socialite": "^4.3" 

Instalação

  • Inicio
 git clone [email protected]:uspdev/starter sua-aplicacao cd sua-aplicacao composer update cp .env.example .env php artisan key:generate php artisan migrate
  • Crie seu repositório remoto e faça as seguintes configurações
 git remote remove origin git remote add origin [email protected]:uspdev/sua-aplicacao git push -u origin main
  • ajuste o composer.json com os dados da sua aplicação
  • Utilize o readme.md como exemplo
  • Remova o que for desnecessário
  • Ajuste o .env.example

OBS.: Caso não vá utilizar alguma biblioteca instalada, além de remover do composer.json verifique a necessidade de ajustes no .env.example.

Testes

php artisan dusk 

Testando envio de e-mails utilizando a plataforma Mailtrap

Utilizando a plataforma Mailtrap é possível capturar os e-mails enviados sem que estes cheguem à caixa de entrada dos destinatários, possibilitando assim testar e analisar o envio de e-mails antes de se colocar em produção.

Como Utilizar

Após criar e entrar com uma conta na plataforma, é possível gerar as credenciais para o envio de e-mail no sistema utilizado, no caso do Laravel as credenciais seriam semelhantes à figura a seguir:

image

Assim, basta substituir tais credenciais no .env do projeto e enviar os e-mails normalmente que estes serão capturados na caixa de entrada do Mailtrap, sem serem enviados aos seus destinatários.

Histórico

  • 9/08/2024

    • Versão 2, atualizado para laravel 11 e PHP 8.2.
  • 15/12/2022

    • instalado laravel/dusk: teste de navegador com testes basicos.
  • 16/11/2022

    • instalado ybr-nx/laravel-mariadb: permite utilizar json em mariadb de forma similar ao mysql
    • instalado spatie/commonmark-highlighter
    • helper md2html($markdown)

Minha Aplicação

Diga o que é sua aplicação.

Funcionalidades

  • Descreva suas funcionalidades aqui
  • Pode colocar prints de tela

Requisitos

O que é necessário para rodar esta aplicação

Atualização

[Se houver instruções específicas sobre atualizações, descreva aqui.]

Em produção

Para receber as últimas atualizações do sistema rode:

git pull composer install --no-dev php artisan migrate

Instalação

[Descreva como instalar a aplicação]

Básico

git clone [email protected]:uspdev/chamados composer install cp .env.example .env php artisan key:generate

Configure o .env conforme a necessidade

Cache (opcional)

Algumas partes podem usar cache (https://github.com/uspdev/cache). Para utilizá-lo você precisa instalar e configurar o memcached no mesmo servidor da aplicação.

apt install memcached vim /etc/memcached.conf I = 5M -m 128 /etc/init.d/memcached restart

Email

O gmail utiliza senhas de app (https://support.google.com/accounts/answer/185833?hl=pt-BR) desde maio/2022. Siga os passos para gerar uma senha de app para sua aplicação.

Apache ou nginx

Deve apontar para a /public, assim como qualquer projeto laravel.

No Apache é possivel utilizar a extensão MPM-ITK (http://mpm-itk.sesse.net/) que permite rodar seu Servidor Virtual com usuário próprio. Isso facilita rodar o sistema como um usuário comum e não precisa ajustar as permissões da pasta storage/.

sudo apt install libapache2-mpm-itk sudo a2enmod mpm_itk sudo service apache2 restart

Dentro do seu virtualhost coloque

<IfModulempm_itk_module> AssignUserId nome_do_usuario nome_do_grupo </IfModule>

Senha única

Cadastre uma nova URL no configurador de senha única utilizando o caminho https://seu_app/callback. Guarde o callback_id para colocar no arquivo .env.

Banco de dados

  • DEV

    php artisan migrate:fresh --seed

  • Produção

    php artisan migrate

Supervisor (opcional)

Para as filas de envio de email o sistema precisa de um gerenciador que mantenha rodando o processo que monitora as filas. O recomendado é o Supervisor. No Ubuntu ou Debian instale com:

sudo apt install supervisor 

Modelo de arquivo de configuração. Como root, crie o arquivo /etc/supervisor/conf.d/chamados_queue_worker_default.conf com o conteúdo abaixo:

[program:chamados_queue_worker_default] command=/usr/bin/php /home/sistemas/chamados/artisan queue:listen --queue=default --tries=3 --timeout=60 process_num=1 username=www-data numprocs=1 process_name=%(process_num)s priority=999 autostart=true autorestart=unexpected startretries=3 stopsignal=QUIT stderr_logfile=/var/log/supervisor/chamados_queue_worker_default.log 

Ajustes necessários:

command=<ajuste o caminho da aplicação> username=<nome do usuário do processo do chamados> stderr_logfile = <aplicacao>/storage/logs/<seu arquivo de log> 

Reinicie o Supervisor

sudo supervisorctl reread sudo supervisorctl update sudo supervisorctl restart all 

Problemas e soluções

Alguma dica de como resolver problemas comuns?

Histórico

Registre o log das principais alterações

About

Projeto starter com Laravel e bibliotecas USPDev

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 6