File manager - Edit - /var/www/html/portal/README.md
Back
# Prefeitura Municipal de Angra dos Reis — Portal (Laravel) Guia para rodar este projeto em **ambiente de desenvolvimento local** usando **Laragon** (Windows). ## Stack - **PHP**: ^8.2 - **Laravel**: ^12 - **Banco**: MySQL/MariaDB - **Front-end**: Vite (+ Bootstrap/Sass) ## Pré‑requisitos - **Laragon** instalado (recomendado: *Laragon Full*). - Web server: Apache ou Nginx (qualquer um funciona). - Banco: MySQL ou MariaDB. - **PHP 8.2** no Laragon (Menu `Laragon > PHP > Version`). - **Composer** disponível (o Laragon normalmente já inclui). - **Node.js**: o projeto declara `"node": "^23.5.0"` no `package.json`. - Recomendação: instalar via **nvm-windows** e usar Node 23.x para evitar divergências. ## 1) Clonar na pasta correta do Laragon Coloque o projeto em: - `C:\laragon\www\angra.rj.gov.br` No Laragon, inicie os serviços: - `Start All` ## 2) Criar o domínio local (*.test*) Este projeto usa `APP_URL` no formato `.test` (ex.: `angra.rj.gov.br.test`). Opções: - **Recomendado (auto virtual host do Laragon)**: - Menu `Laragon > Preferences > General >` habilite `Auto Virtual Hosts` - Garanta que `C:\laragon\www` é a pasta raiz - Reinicie o Laragon - Acesse o projeto pelo domínio sugerido pelo Laragon em `Menu > www` - **Compatível com o `.env` atual**: - Acesse `http://angra.rj.gov.br.test` Se o domínio `.test` não resolver: - Execute `Laragon > Tools > Quick add > Hosts file` (ou ajuste manualmente o `hosts`) - Garanta que o serviço do Laragon está rodando e que o Apache/Nginx está escutando ## 3) Variáveis de ambiente (`.env`) Este repositório depende de um arquivo `.env` **local**. - Se você já recebeu um `.env` da equipe, apenas coloque-o na raiz do projeto. - Se não recebeu, crie um `.env` manualmente (ou peça o arquivo padrão do time) e depois gere a chave da aplicação: ```bash php artisan key:generate ``` ### Mínimo recomendado no `.env` para rodar local - `APP_ENV=local` - `APP_DEBUG=true` - `APP_URL=http://angra.rj.gov.br.test` (ou o domínio que você configurou) - `DB_CONNECTION=mysql` - `DB_HOST=127.0.0.1` - `DB_PORT=3306` - `DB_DATABASE=site` - `DB_USERNAME=root` - `DB_PASSWORD=` O projeto também possui **múltiplas conexões** extras (ver `config/database.php`), por exemplo: - `mysql_arte_sacra`, `mysql_urls`, `mysql_defesacivil`, `mysql_siati_app`, `mysql_siati_auth`, `mysql_visite_angra`, `mysql_turismo_nautico`, `mysql_bddpmar`, `mysql_ambulantes`, `mysql_divida_ativa`, etc. Em desenvolvimento, você pode seguir uma destas estratégias: - **Estratégia A (mais simples)**: criar **todas** as bases MySQL mencionadas no `.env` (mesmo vazias), apontando para `127.0.0.1`. - **Estratégia B (uma base só)**: apontar as conexões extras para a **mesma** base local (ex.: `site`) no `.env`. - **Estratégia C (desativar módulos)**: quando possível, manter apenas a base principal e ajustar a aplicação para não acessar módulos que dependem das bases extras. ## 4) Instalar dependências PHP Na raiz do projeto: ```bash composer install ``` Se houver erro de extensões do PHP, confira no Laragon se o PHP 8.2 está ativo e habilite extensões comuns (ex.: `pdo_mysql`, `mbstring`, `openssl`, `fileinfo`, `zip`). ## 5) Banco de dados (criar + migrations) Crie a base principal (ex.: `site`) no MySQL/MariaDB do Laragon (HeidiSQL ou phpMyAdmin). Depois rode: ```bash php artisan migrate ``` ### Seeders (opcionais) O `DatabaseSeeder` não executa seeders por padrão (ver `database/seeders/DatabaseSeeder.php`). Quando precisar popular dados, rode seeders específicos, por exemplo: ```bash php artisan db:seed --class=PermissaoSeeder php artisan db:seed --class=StructureSeeder php artisan db:seed --class=AccountSeeder ``` Há seeders e rotinas de migração legada; o próprio arquivo `DatabaseSeeder.php` indica comandos recomendados, por exemplo: ```bash php artisan db:seed --class=ProjetosProgramasMigrationSeeder php artisan db:seed --class=ContratosImportSeeder ``` ## 6) Storage e cache Rode os comandos comuns de ambiente local: ```bash php artisan storage:link php artisan optimize:clear ``` ## 7) Instalar e compilar assets (Vite) Instale dependências do front: ```bash npm install ``` ### Desenvolvimento (watch/HMR) Em um terminal: ```bash npm run dev ``` E em outro terminal, mantenha o backend servindo pelo Laragon (Apache/Nginx) **ou** rode o servidor do Laravel: ```bash php artisan serve ``` ### Build (modo “sem watcher”) ```bash npm run build ``` Importante: este projeto gera build e copia dependências para um diretório público customizado: - `public/pmar/build` (por padrão) Isso é definido em `vite.config.js` via `publicDirectory` e `buildDirectory`. ## 8) URLs úteis - **Portal público**: `http://angra.rj.gov.br.test/` - **Admin**: `http://angra.rj.gov.br.test/admin/painel` (requer login) - **Login**: `http://angra.rj.gov.br.test/login` ## Troubleshooting ### Página branca / erro 500 - Verifique `storage/logs/laravel.log` - Rode: ```bash php artisan optimize:clear ``` ### CSS/JS não carrega - Rode `npm run build` (ou `npm run dev`) - Confira se os arquivos estão sendo gerados em `public/pmar/build` ### Erro de banco / “Unknown database” - Crie a base que está no `.env` **ou** ajuste as conexões extras para uma base existente. ### Erro com Node - Use a versão de Node compatível com o `package.json` (recomendado Node 23.x) - Apague cache/instalação e reinstale: ```bash rm -rf node_modules npm install ``` ## Comandos rápidos (resumo) ```bash composer install php artisan key:generate php artisan migrate php artisan storage:link npm install npm run dev ```
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.03 |
proxy
|
phpinfo
|
Settings