Módulo 1: Introdução ao Angular
1.1 Apresentação do Angular
- Visão geral do framework
- História e evolução
1.2 Configuração do Ambiente
- Node.js e npm
- Instalação do Angular CLI (Command Line Interface)
- Criando um novo projeto Angular
1.3 Arquitetura e Estrutura de Projetos
- Módulos, componentes e serviços
- Organização de arquivos e diretórios
Módulo 2: Componentes em Angular
2.1 Criando Componentes
- Decorators e templates
- Ciclo de vida do componente
2.2 Comunicação entre Componentes
- @Input e @Output
- Serviços para comunicação
Módulo 3: Diretivas em Angular
3.1 Diretivas estruturais
- *ngIf, *ngFor, *ngSwitch
3.2 Diretivas de atributo
- ngClass, ngStyle
- Criando diretivas personalizadas
Módulo 4: Formulários em Angular
4.1 Formulários Template-Driven
- Ligação de dados bidirecional
- Validação de formulários
4.2 Formulários Reactivos
- FormControl, FormGroup
- Validação reativa
Módulo 5: Roteamento em Angular
5.1 Configuração de Rotas
- Configuração básica
- Rotas aninhadas
5.2 Navegação e Guards
- Navegação programática
- Guards de rota
Módulo 6: Serviços e Injeção de Dependências
6.1 Criando Serviços
- Injeção de dependências
- Singleton vs. Hierarquia de Injetores
6.2 Consumindo Serviços em Componentes
- Injeção de serviço em componentes
- Utilizando HttpClient para fazer requisições HTTP
Módulo 7: Pipes em Angular
7.1 Utilizando Pipes embutidos
- Date, Currency, UpperCase, LowerCase, etc.
7.2 Criando Pipes personalizados
- Criando pipes customizados
Módulo 8: Testes em Angular
8.1 Testes Unitários
- Jasmine e Karma
- Testando componentes, serviços e pipes
8.2 Testes de Integração
- TestBed e testes de componente integrado
Projeto Final
Desenvolvimento de um projeto prático de larga escala que abranja os principais conceitos aprendidos ao longo do curso, integrando componentes, serviços, roteamento e boas práticas de desenvolvimento Angular.