# Mapa Gerencial do Projeto: PraFrota FE

## 1. Visão Geral
**Tecnologia Principal**: Angular 19 (Monorepo)

Este repositório consolida as interfaces de usuário (Front-End) do ecossistema PraFrota. Construído sobre o Angular 19, ele adota uma estratégia de **Monorepo** (Workspace) para gerenciar múltiplos aplicativos (`idt_app`, `cliente`, `escala`) que compartilham uma base comum de visual e lógica (`libs`, `idt_pattern`).

## 2. Estrutura de Diretórios e Arquivos

### Raiz (`/`)
- **`angular.json`**: O cérebro do workspace. Define os projetos, configurações de build, assets e estilos para cada app.
- **`package.json`**: Dependências globais. Note o uso de `idt-libs` mapeado localmente (`file:dist/libs`).

### 📂 /projects
#### Aplicações (Apps)
- **`idt_app`**: O carro-chefe.
  - *Função*: Provavelmente o Super App ou Painel Administrativo Geral.
  - *Roteamento*: **📍 `projects/idt_app/src/app/app.routes.ts`**. Definição das rotas principais deste aplicativo.
  - *Dependências*: Consome fortemente `idt_pattern` e `libs`.
  
- **`cliente`**: Portal do Tenant.
  - *Função*: Interface para as empresas contratantes gerenciarem suas frotas.
  - *Roteamento*: **📍 `projects/cliente/src/app/app.routes.ts`** (ou `app-routing.module.ts`).
  
- **`escala`**: App de Gestão de Escalas.
  - *Função*: Focado em alocação de motoristas/veículos. Pode operar isoladamente ou embarcado.

#### Bibliotecas (Libs)
- **`idt_pattern`**: **Design System**.
  - Contém os componentes visuais "burros" (Buttons, Inputs, Cards) e diretivas de estilo garantindo consistência visual (Branding).
  
- **`libs`**: **Core Logic**.
  - Serviços de API, Interceptors, Guards de Autenticação, Utilitários de Data/Texto. Código sem UI (ou com UI genérica).

### 📂 /environments
Configurações de variáveis de ambiente (URLs de API, Chaves) compartilhadas ou específicas.

## 3. Principais Bibliotecas
- **Core Framework**: `Angular 19` (`@angular/core`, `@angular/common`, etc).
- **UI Components**: `@angular/material` (Material Design), `@fortawesome/fontawesome-free` (Ícones).
- **Mapas**: `leaflet`, `ng-leaflet-universal`.
- **Gráficos**: `ng2-charts` (baseado em Chart.js).
- **Utilitários**: `ngx-mask` (Máscaras de input), `jspdf` (Geração de PDF), `ngx-papaparse` (CSV).
- **Build/Monorepo**: `@nx/angular`, `ng-packagr`.

## 4. Fluxos Principais

### Fluxo de Desenvolvimento (DDD)
O projeto possui scripts de automação (`npm run create:domain`) que sugerem uma arquitetura baseada em **Domain-Driven Design**.
1. **Criar Domínio**: Gera estrutura para um novo módulo de negócio.
2. **Desenvolver Lib**: Lógica de negócio é implementada em `libs`.
3. **Integrar no App**: O App (`idt_app`) importa o módulo.

## 4. Observações Técnicas
- **Angular 19**: Versão muito recente (Bleeding Edge). Features como Signals e Standalone Components devem ser preferidas.
- **Leaflet**: Uso intensivo de mapas. Verifique a configuração de assets no `angular.json` para garantir que os ícones do Leaflet sejam copiados corretamente no build.
- **Dependências Locais**: A biblioteca `idt-libs` é referenciada como arquivo local. É crucial rodar o build das libs antes de rodar os apps.
