# Banco de Talentos - Angra dos Reis (Projeto Laravel 9)

Este repositório contém uma adaptação do site estático do Banco de Talentos de Angra dos Reis para um projeto Laravel 9. O objetivo foi integrar o design e o conteúdo HTML, CSS e JavaScript existentes na estrutura de um projeto Laravel, utilizando Blade Templates para as views e definindo as rotas correspondentes.

## Estrutura do Projeto

O projeto segue a estrutura padrão de um aplicativo Laravel, com os arquivos estáticos (CSS, JS, imagens) movidos para o diretório `public` e as views Blade organizadas em `resources/views`.

```
laravel-banco-talentos/
├── app/
├── bootstrap/
├── config/
├── database/
├── public/
│   ├── css/
│   │   └── style.css
│   ├── images/
│   │   ├── Icon-192.png
│   │   ├── Icon-512.png
│   │   ├── Icon-maskable-192.png
│   │   ├── Icon-maskable-512.png
│   │   ├── Semtítulo.png
│   │   ├── banner-hero.png
│   │   ├── banner-hero.webp
│   │   ├── favicon.png
│   │   ├── logo-angra-branco.svg
│   │   ├── logo-pmar.svg
│   │   ├── logo.png
│   │   └── logo.webp
│   └── js/
│       └── main.js
├── resources/
│   ├── css/
│   ├── js/
│   ├── lang/
│   └── views/
│       ├── components/
│       │   ├── footer.blade.php
│       │   └── navbar.blade.php
│       ├── layouts/
│       │   └── app.blade.php
│       └── pages/
│           ├── cadastre-se.blade.php
│           ├── empresas.blade.php
│           ├── entrar.blade.php
│           ├── fale-conosco.blade.php
│           ├── home.blade.php
│           ├── sobre.blade.php
│           └── vagas.blade.php
├── routes/
│   └── web.php
├── storage/
├── tests/
├── vendor/
├── .env.example
├── artisan
├── composer.json
├── composer.lock
├── package.json
├── postcss.config.js
├── README.md
├── tailwind.config.js
└── vite.config.js
```

## Páginas Convertidas para Blade Templates

As seguintes páginas HTML estáticas foram convertidas para views Blade:

- `home.blade.php` (corresponde a `index.html`)
- `sobre.blade.php`
- `vagas.blade.php`
- `empresas.blade.php`
- `fale-conosco.blade.php`
- `entrar.blade.php`
- `cadastre-se.blade.php`

Além disso, foram criados componentes Blade para o `navbar` e `footer` para reutilização em todas as páginas, e um layout principal `app.blade.php` para estruturar as views. A `navbar` e o `footer` foram atualizados para serem fiéis ao design do primeiro print fornecido, e as novas imagens foram incorporadas.

## Rotas Definidas

As rotas para as páginas foram definidas no arquivo `routes/web.php`:

- `/` -> `home`
- `/sobre` -> `sobre`
- `/vagas` -> `vagas`
- `/empresas` -> `empresas`
- `/fale-conosco` -> `fale-conosco`
- `/entrar` -> `entrar`
- `/cadastre-se` -> `cadastre-se`
- `/esqueci-senha` -> solicitação de recuperação (identidade via `AUTH_SERVICE_URL`)
- `/redefinir-senha` -> formulário de nova senha com código recebido por e-mail

## Documentação

| Guia | Descrição |
|------|-----------|
| [**Manutenção**](docs/manutencao.md) | **Ponto de entrada** — local, deploy, SSO, troubleshooting |
| [SSO Conta Angra](docs/api-sso-conta-angra.md) | Contrato OAuth + popup |
| [Runbook operacional](docs/talent-bank/runbook-operacional.md) | Deploy, rollback, incidentes |
| [Checklist migração homolog](docs/talent-bank/checklist-migracao-homolog.md) | Legado → BT em homolog |
| [Recuperação de senha](docs/talent-bank/password-recovery.md) | Fluxo esqueci senha |
| [Integrações](docs/talent-bank/integrations-hardening.md) | Hardening auth/HTTP |
| [Observabilidade](docs/talent-bank/observability.md) | Logs e métricas |
| [Compatibilidade API](docs/talent-bank/api-compatibility-matrix.md) | Legado × novo |

Dry-run migração legado → BT: [`docs/talent-bank/migration-legacy-dry-run.md`](docs/talent-bank/migration-legacy-dry-run.md) — `php artisan talent-bank:legacy-dry-run`.

## Solução para o Erro 404 na Página Inicial

O erro 404 na página inicial ocorre porque este repositório contém apenas os arquivos de *frontend* (views, assets, rotas web) adaptados para Laravel, mas **não é uma instalação completa do framework Laravel**. Para que o projeto funcione corretamente, você precisa integrá-lo em um projeto Laravel 9 já existente ou em uma nova instalação limpa do Laravel.

### Passos para Integrar em um Projeto Laravel Limpo:

1.  **Crie um novo projeto Laravel 9 (se ainda não tiver um):**
    ```bash
    composer create-project laravel/laravel:^9.0 seu-projeto-laravel
    cd seu-projeto-laravel
    ```

2.  **Copie os Assets:**
    Copie os diretórios `css`, `js` e `images` deste projeto (`laravel-banco-talentos/public/`) para o diretório `public/` do seu novo projeto Laravel.
    ```bash
    cp -r laravel-banco-talentos/public/css seu-projeto-laravel/public/
    cp -r laravel-banco-talentos/public/js seu-projeto-laravel/public/
    cp -r laravel-banco-talentos/public/images seu-projeto-laravel/public/
    ```

3.  **Copie as Views Blade:**
    Copie os diretórios `components`, `layouts` e `pages` deste projeto (`laravel-banco-talentos/resources/views/`) para o diretório `resources/views/` do seu novo projeto Laravel.
    ```bash
    cp -r laravel-banco-talentos/resources/views/components seu-projeto-laravel/resources/views/
    cp -r laravel-banco-talentos/resources/views/layouts seu-projeto-laravel/resources/views/
    cp -r laravel-banco-talentos/resources/views/pages seu-projeto-laravel/resources/views/
    ```

4.  **Copie as Rotas Web:**
    Substitua o arquivo `web.php` existente no seu novo projeto Laravel pelo arquivo `web.php` deste projeto (`laravel-banco-talentos/routes/web.php`).
    ```bash
    cp laravel-banco-talentos/routes/web.php seu-projeto-laravel/routes/web.php
    ```

5.  **Verifique o `.htaccess` (já incluído neste projeto):**
    O arquivo `.htaccess` padrão do Laravel é essencial para o roteamento. Certifique-se de que ele existe em `seu-projeto-laravel/public/.htaccess`. Caso não exista, copie o que foi gerado neste projeto:
    ```bash
    cp laravel-banco-talentos/public/.htaccess seu-projeto-laravel/public/.htaccess
    ```

6.  **Execute as configurações básicas do Laravel:**
    No diretório `seu-projeto-laravel`:
    ```bash
    composer install
    cp .env.example .env
    php artisan key:generate
    php artisan serve
    ```

Após seguir esses passos, a página inicial e as demais rotas deverão funcionar corretamente.

## Observações sobre Funcionalidades Dinâmicas

As funcionalidades dinâmicas do site original (listagem de vagas via API, envio de formulários e autenticação de usuários) requerem a implementação de lógica de backend. Os formulários e a listagem de vagas nesta versão Laravel estão preparados para integração, mas a lógica de processamento e persistência de dados deve ser desenvolvida em Controllers e Models do Laravel.

-   **Formulários (`fale-conosco`, `entrar`, `cadastre-se`)**: As rotas POST foram definidas, mas os `Controllers` correspondentes e a lógica de validação/processamento/armazenamento precisam ser criados.
-   **Listagem de Vagas**: A página `vagas.blade.php` contém dados estáticos de exemplo. Para exibir vagas dinamicamente, você precisará de um banco de dados, um `Model` para `Vaga` e um `Controller` para buscar e passar esses dados para a view.

## Autor

Manus AI

