3.2 KiB
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 deidt-libsmapeado 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_patternelibs.
-
cliente: Portal do Tenant.- Função: Interface para as empresas contratantes gerenciarem suas frotas.
- Roteamento: 📍
projects/cliente/src/app/app.routes.ts(ouapp-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.
- Criar Domínio: Gera estrutura para um novo módulo de negócio.
- Desenvolver Lib: Lógica de negócio é implementada em
libs. - 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.jsonpara 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.