# Patterns Index - Angular IDT App ## šŸ“š ƍndice de PadrƵes e Documentação Este documento centraliza todos os padrƵes de arquitetura, implementação e documentação tĆ©cnica do projeto Angular IDT App. ## šŸ—ļø PadrƵes de Arquitetura ### App Component Pattern **Arquivo**: `APP_COMPONENT_PATTERN.md` - **Objetivo**: Integração de serviƧos PWA e Mobile no componente raiz - **Inclui**: Dependency injection, auto-initialization, logging pattern - **Aplicação**: Funcionalidades que devem estar ativas desde o inĆ­cio da app ### Mobile Zoom Prevention Pattern **Arquivo**: `MOBILE_ZOOM_PREVENTION.md` - **Objetivo**: Prevenção completa de zoom em dispositivos móveis - **Inclui**: Meta tags, CSS prevention, JavaScript service - **Aplicação**: Apps que precisam de experiĆŖncia nativa sem zoom ## šŸ“± Progressive Web App (PWA) ### PWA Implementation **Arquivo**: `PWA_IMPLEMENTATION.md` - **Objetivo**: Implementação completa de funcionalidades PWA - **Inclui**: Service Worker, Manifest, notificaƧƵes, install prompts - **Aplicação**: Apps que precisam funcionar como aplicativos nativos ### PWA Quick Start **Arquivo**: `PWA_QUICK_START.md` - **Objetivo**: Guia rĆ”pido para desenvolvimento e troubleshooting PWA - **Inclui**: Comandos essenciais, testes por dispositivo, debugging - **Aplicação**: Desenvolvimento e manutenção de funcionalidades PWA ## šŸŽÆ Componentes ReutilizĆ”veis ### Tab System Pattern **Localização**: `shared/components/tab-system/` - **Objetivo**: Sistema avanƧado de abas para edição de registros - **Inclui**: Limite configurĆ”vel, gestĆ£o de estado, tĆ­tulos responsivos - **Aplicação**: FormulĆ”rios de edição complexos, CRUD operations ### Data Table Pattern **Localização**: `shared/components/data-table/` - **Objetivo**: Tabelas responsivas com otimizaƧƵes mobile - **Inclui**: Header adaptativo, paginação compacta, filtros expansĆ­veis - **Aplicação**: Listagem de dados em dispositivos móveis e desktop ## šŸ”§ ServiƧos e Utilities ### Service Naming Standards Pattern **Arquivo**: `SERVICE_NAMING_CHECKLIST.md` - **Objetivo**: Garantir nomenclatura consistente em todos os services - **Inclui**: Checklist obrigatório, templates corretos, anti-patterns - **Aplicação**: **OBRIGATƓRIO consultar antes de criar/editar qualquer service** ### PWA Service Pattern **Arquivo**: `shared/services/pwa.service.ts` - **Objetivo**: Gerenciamento centralizado de funcionalidades PWA - **Inclui**: Update detection, install prompts, observables - **Aplicação**: Qualquer app que implemente PWA ### Mobile Behavior Service Pattern **Arquivo**: `shared/services/mobile-behavior.service.ts` - **Objetivo**: Controle de comportamentos móveis nativos - **Inclui**: Zoom prevention, touch optimization, device detection - **Aplicação**: Apps com foco em experiĆŖncia mobile nativa ## šŸ“Š OtimizaƧƵes e Performance ### CSS Budget Management **Localização**: `assets/styles/app.scss` - **Objetivo**: CompressĆ£o de CSS para manter funcionalidades dentro do limite - **Inclui**: CompressĆ£o manual, seletores combinados, mobile-first - **Aplicação**: Projetos com restriƧƵes de bundle size ### Responsive Design Patterns **Localização**: Multiple files (`*.scss`) - **Objetivo**: PadrƵes de responsividade mobile-first - **Inclui**: Breakpoints consistentes, edge-to-edge layouts, touch-friendly controls - **Aplicação**: Interfaces adaptivas para todos os dispositivos ## šŸŽØ UI/UX Patterns ### Standalone Component Pattern **Aplicação**: All components - **Objetivo**: Componentes independentes sem NgModules - **Inclui**: Imports explĆ­citos, tree-shaking otimizado - **Aplicação**: Arquitetura Angular moderna (17+) ### Material Design Integration **Localização**: `assets/styles/app.scss` - **Objetivo**: Integração consistente com Angular Material - **Inclui**: Theme customization, component overrides - **Aplicação**: Apps que usam Angular Material como base ## šŸ”„ Domain-Driven Design (DDD) ### Domain Structure Pattern **Localização**: `app/domain/` - **Objetivo**: Organização por domĆ­nios de negócio - **Inclui**: vehicles/, drivers/, routes/, finances/ - **Aplicação**: Apps com mĆŗltiplos contextos de negócio ### Shared Resources Pattern **Localização**: `app/shared/` - **Objetivo**: Recursos compartilhados entre domĆ­nios - **Inclui**: components/, services/, interfaces/ - **Aplicação**: Funcionalidades transversais aos domĆ­nios ## 🧪 Testing Patterns ### Service Testing Pattern **Aplicação**: All services - **Objetivo**: Testes unitĆ”rios para serviƧos Angular - **Inclui**: Mocks, spies, dependency injection testing - **Aplicação**: Garantia de qualidade e confiabilidade ### Component Testing Pattern **Aplicação**: All components - **Objetivo**: Testes de componentes standalone - **Inclui**: TestBed configuration, async testing - **Aplicação**: Validação de comportamento de UI ## šŸ“š Documentação Patterns ### README Pattern **Arquivo**: `README.md` - **Objetivo**: Documentação principal do projeto - **Inclui**: Setup, comandos, estrutura geral - **Aplicação**: Onboarding de novos desenvolvedores ### MCP Pattern **Arquivo**: `MCP.md` (Model Context Protocol) - **Objetivo**: Contexto completo para desenvolvimento assistido por IA - **Inclui**: Arquitetura, padrƵes, configuraƧƵes - **Aplicação**: Desenvolvimento com assistentes de IA ## šŸ”— InterconexƵes de PadrƵes ### PWA + Mobile Pattern ``` App Component (DI) → PWA Service → PWA Notifications → Mobile Service → Zoom Prevention ``` ### Domain + Shared Pattern ``` Domain Components → Shared Components → Tab System → Data Table → Shared Services → PWA Service → Mobile Service ``` ### Testing + Documentation Pattern ``` Implementation → Testing → Documentation → MCP Context ``` ## šŸ“‹ Quick Reference ### Para Novo Componente 1. Usar Standalone pattern 2. Documentar no domain apropriado 3. Adicionar testes unitĆ”rios 4. Atualizar MCP.md se relevante ### Para Nova Funcionalidade PWA 1. Implementar no PWAService 2. Adicionar notification no PWANotificationsComponent 3. Testar em mobile real 4. Documentar em PWA_IMPLEMENTATION.md ### Para Nova Otimização Mobile 1. Implementar no MobileBehaviorService 2. Adicionar CSS em app.scss 3. Testar responsividade 4. Documentar em MOBILE_ZOOM_PREVENTION.md ### Para Novo Service 1. **OBRIGATƓRIO**: Consultar `SERVICE_NAMING_CHECKLIST.md` 2. Implementar seguindo nomenclatura padrĆ£o: `create`, `update`, `delete`, `getById`, `get[Domain]s` 3. Usar ApiClientService (nunca HttpClient diretamente) 4. Implementar DomainService interface 5. Adicionar fallback com dados mock ### Para Novo PadrĆ£o 1. Implementar seguindo padrƵes existentes 2. Criar documentação especĆ­fica 3. Adicionar ao PATTERNS_INDEX.md 4. Referenciar no MCP.md --- ## šŸ“Š Status dos PadrƵes | PadrĆ£o | Status | Documentação | Testes | Aplicação | |--------|--------|-------------|--------|-----------| | **App Component** | āœ… | āœ… | āš ļø | āœ… | | **PWA Implementation** | āœ… | āœ… | āš ļø | āœ… | | **Mobile Zoom Prevention** | āœ… | āœ… | āš ļø | āœ… | | **Tab System** | āœ… | āœ… | āœ… | āœ… | | **Data Table** | āœ… | āš ļø | āš ļø | āœ… | | **Service Naming Standards** | āœ… | āœ… | āœ… | āœ… | | **Standalone Components** | āœ… | āœ… | āœ… | āœ… | | **DDD Structure** | āœ… | āœ… | āš ļø | āœ… | **Legenda**: āœ… Completo | āš ļø Parcial | āŒ Pendente --- **Última atualização**: Janeiro 2025 **Contribuidores**: Equipe de desenvolvimento IDT App