guide · observed
Primeiros passos
Instalação do ambiente de desenvolvimento local do James com Laravel Sail.
Pré-requisitos
Tenha Docker e Docker Compose, Composer e Node.js com npm instalados. O ambiente local usa Laravel Sail para executar PHP, PostgreSQL e Mailpit.
Instalação
- Clone o repositório do James e entre na pasta do projeto.
- Instale as dependências PHP com
composer install. - Copie
.env.examplepara.env. - Gere a chave da aplicação com
./vendor/bin/sail artisan key:generate. - Inicie os containers com
./vendor/bin/sail up -d. - Crie o link de storage com
./vendor/bin/sail artisan storage:link. - Execute as migrações e seeds com
./vendor/bin/sail artisan migrate --seed. - Instale as dependências do front-end com
./vendor/bin/sail npm install. - Inicie o Vite com
./vendor/bin/sail npm run devou gere os assets comnpm run build.
Variáveis de ambiente
O .env.example já aponta o banco para o serviço Docker pgsql e o e-mail local para o Mailpit. Confira especialmente APP_URL=http://localhost, MEDIA_DISK=private, TELEGRAM_BOT_TOKEN, TELEGRAM_CHAT_ID e NOTIFICATIONS_MAIL_ENABLED. Os valores de Telegram ficam vazios por padrão no desenvolvimento.
Testes e rotina local
O James usa Pest para testes de unidade e feature. Na primeira execução, crie o banco de testes quando necessário; depois use ./vendor/bin/sail test ou ./vendor/bin/sail artisan test --compact. Para uma execução direcionada, acrescente o nome do arquivo ou --filter=Notification.
Durante os testes, phpunit.xml desativa os canais externos de Telegram e e-mail.
O scheduler pode ser mantido em execução com ./vendor/bin/sail artisan schedule:work; a fila pode ser atendida com ./vendor/bin/sail artisan queue:listen --tries=1 --timeout=0. Os comandos financeiros também podem ser executados manualmente:
./vendor/bin/sail artisan finance:process-recurrences
./vendor/bin/sail artisan finance:rollover-invoices
./vendor/bin/sail artisan finance:rollover-transactionsServiços locais
- A aplicação é exposta pela porta configurada em
APP_PORT. - O PostgreSQL usa
FORWARD_DB_PORTquando essa variável é definida. - A aplicação fica disponível em http://localhost.
- O Mailpit oferece SMTP e painel web em http://localhost:8025.
- O Vite usa a porta
5173por padrão.
Comandos úteis
Um alias sail pode simplificar os comandos repetidos. No shell, ele pode apontar para vendor/bin/sail. Os comandos mais usados são sail down, sail shell, sail bin pint e sail artisan pail.
Consulte Autenticação depois do primeiro acesso e Deploy para o ambiente de produção.