testes/prafrota_fe-main/prafrota_fe-main/MAPA_GERENCIAL.md

3.2 KiB

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.