# Arquitetura V2

A V2 adota uma filosofia de "Isolamento por Domínio" (Modular/DDD-lite) para evitar a proliferação de arquivos genéricos e facilitar a manutenção.

## 📂 Estrutura de Diretórios

### 1. `app/V2/Core`
Contém a fundação do sistema:
- **Controllers:** Controladores base (`BaseController`, `HomeController`, `DashboardController`).
- **Providers:** `V2ServiceProvider` (o coração do motor V2).
- **Routes:** Definições de rotas base do subdomínio.

### 2. `app/V2/Modules`
Onde reside a lógica de negócio segmentada:
- Cada pasta (ex: `Noticias`) é um módulo autônomo.
- Estrutura interna: `Controllers/`, `Models/`, `Views/`, `Routes/`, `Migrations/`, `Services/`.

### 3. `resources/V2`
Layouts globais migrados e modernizados:
- `cms/`: Novo AdminLTE 2 (Namespace `v2-cms::`).
- `portal/`: Novo Layout Lotep (Namespace `v2-portal::`).

## 🧩 Namespaces de View
Para evitar colisões com o legado, a V2 utiliza namespaces estritos:
- `v2-cms::`: Para componentes e layouts do painel.
- `v2-portal::`: Para componentes e layouts do portal público.
- `v2-[modulo]::`: Para views específicas de um módulo (ex: `v2-noticias::`).

## 🛠️ O V2ServiceProvider
Este provider automatiza a carga de recursos:
1. Registra os namespaces globais de layout.
2. Varre `app/V2/Modules` e carrega dinamicamente:
   - Migrações.
   - Views (com namespace automático).
   - Rotas (agrupadas sob o subdomínio `v2.`).

---
[Voltar para o Índice](index.md)
