Próximas Turmas
- Frequência: Sexta
- Horário: 18:00/22:00h
- Término Previsto: 06/11/2026
- Modalidade: Presencial/Online (ao vivo)
- Professor: Sergio Mendes
12XR$553,69 no cartão (alunos de Fullstack condições especiais)
O que você vai aprender nesse curso
O objetivo do curso é capacitar e aperfeiçoar o aluno para o desenvolvimento de aplicações corporativas modernas em .NET 10, utilizando as tecnologias mais atuais da plataforma, padrões de projeto, boas práticas arquiteturais e uma abordagem fortemente orientada a DevOps, automação, integração contínua, entrega contínua e publicação em ambiente cloud.
O curso prepara o aluno para atuar em projetos corporativos reais, desenvolvendo APIs robustas, escaláveis, testáveis e preparadas para ambientes profissionais de produção.
- IDE: VisualStudio 2026
- O curso é ministrado na nova versão .NET 10 (Release de Nov/25)
- Pré-requisito: ter realizado o curso de C# WebDeveloper
O curso enfatiza uma visão moderna de desenvolvimento, onde o programador não atua apenas escrevendo código, mas participa de todo o ciclo de vida da aplicação.
O aluno aprenderá práticas DevOps aplicadas ao desenvolvimento .NET, incluindo:
- Versionamento de código com Git e GitHub;
- Estratégias de branches;
- Pull Requests e revisão de código;
- Automação de build;
- Execução automatizada de testes;
- Criação de pipelines;
- Integração contínua;
- Entrega contínua;
- Deploy automatizado;
- Uso de Docker para padronização de ambientes;
- Configuração de ambientes de desenvolvimento, homologação e produção;
- Publicação em Azure;
- Gerenciamento de variáveis de ambiente e secrets;
- Monitoramento de aplicações;
- Logs estruturados;
- Health checks;
- Boas práticas para aplicações em produção.
A proposta é que o aluno desenvolva aplicações seguindo um fluxo profissional:
Código → Testes → Build → Container → Pipeline → Deploy → Monitoramento
Conteúdo do curso
Padrões de Projeto e melhores práticas arquiteturais
- Arquitetura baseada em camadas
- Principios e boas práticas SOLID (SRP, OCP, LSP, ISP e DIP)
- Visão geral sobre arquiteturas de software baseadas em DDD e TDD
Desenvolvimento de Aplicações Corporativas com WebApi, EntityFramework e Injeção de dependência
- .NET 10 API com JWT (Arquitetura de microserviços)
- Desenvolvendo APIs REST com CQRS
- Boas práticas
- Arquitetura de Microserviços REST
- DTOS - Data Transfer Objects
- Commands e Queries
- Fluxo CQRS
- POST, PUT, DELETE e GET
- Swagger
- MediatR e AutoMapper
- Request Handlers
- Notfication Handlers
- Usando o MongoDB
- Autenticação com Bearer Authentication JWT
- DDD - Domain Driven Design
- Definindo arquitetura de aplicações baseadas em DDD
- Separação das entidades de dominio
- Contextos de Dominio
- Entidades de domínio
- Serviços de domínio
- Definindo Repositorios
- Camada de InfraEstrutura
- Camada de Aplicação
- Camada de Interface de Usuario
- Melhores praticas em DDD aplicados à arquitetura .NET
- Desenvolvimento em Asp.Net WebApi para DDD
- TDD- Test Driven Development (Testes unitários e testes de integração)
- Boas práticas e diretrizes do TDD
- Executando TDD em projetos com XUnit
- Asserts
- TestCases e TestSuites
- Integrando TDD com DDD
- FluentAssertions
- Massas de dados de teste com Bogus
- Desenvolvimento de arquitetura CQRS (Command Query Responsibility Segregation)
- Entendendo o padrão CQRS e desenvolvendo uma aplicação do zero
- Utilizando o MediatR
- AutoMapper
- Commands e Queries
- Acessando o MongoDB (Base de dados NoSQL)
- Notifications e Handlers
- Testes
- EntityFramework CodeFIrst
- Mapeamento Objeto Relacional com Fluent
- Gerenciamento da conexão
- Repositorio Generico
- CodeFirst Migrations
- LAMBDA
- Gerenciamento de transações
- UnitOfWork
- Criando uma aplicação com EF baseado em Unit of Work
- Visão geral do Dapper
- RabbitMQ e Arquitetura de eventos (OutboxMessage e EDA)
- Criando serviços de mensageria
- Gerenciamento de filas
- Messages, Queues e Exchanges
- Arquitetura de software com RabbitMQ
- Docker e Dockerhub
- Configuração
- Criando containers e imagens
- Publicando projetos no DOCKER
- Integração contínua
Azure, CI/CD, Pipelines e Ciclo DevOps
Preparando o Deploy
- Revisão da aplicação antes da publicação;
- Organização dos arquivos de configuração;
- Uso de variáveis de ambiente;
- Separação de connection strings por ambiente;
- Configuração de secrets;
- Preparação da aplicação para execução em cloud;
- Configuração de portas, URLs e permissões;
- Validação do build em modo Release;
- Execução dos testes antes da publicação;
- Geração dos artefatos da aplicação;
- Checklist de pré-deploy.
GitHub Actions — CI, CD e Pipelines
- Introdução ao GitHub Actions;
- Conceitos de workflow, job, step e action;
- Estrutura de arquivos YAML;
- Criação do primeiro workflow;
- Pipeline de integração contínua;
- Build automatizado da aplicação .NET;
- Geração de artefatos;
- Pipeline para produção;
CI — Continuous Integration
- Conceito de integração contínua;
- Padronização do processo de build;
- Execução de testes;
- Validação de pull requests;
- Geração de pacotes e artefatos;
CD — Continuous Delivery e Continuous Deployment
- Conceito de entrega contínua;
- Conceito de deploy contínuo;
- Publicação automática de artefatos;
- Deploy em ambiente de produção;
- Versionamento de releases;
- Automação do ciclo de entrega.
Publicando a Aplicação no Azure
- Introdução ao Microsoft Azure;
- Criação de conta e assinatura Azure;
- Criação de Resource Group;
- Criação de App Service;
- Configuração do App Service para .NET 10;
- Configuração de variáveis de ambiente no Azure;
- Configuração de connection strings;
- Deploy automatizado via GitHub Actions;
- Integração entre GitHub e Azure;
- Publicação de APIs ASP.NET no Azure;
- Publicação de aplicações containerizadas;
- Validação da aplicação publicada.
Publicando o Banco de Dados
- Opções de banco de dados na Azure;
- Azure SQL Database;
- MongoDB Atlas;
- Configuração do servidor de banco;
- Criação da base de dados;
- Configuração de usuários e permissões;
- Configuração de firewall e acesso externo;
- Configuração da connection string;
- Uso de migrations em produção;
- Separação entre banco de homologação e produção;
- Teste de conexão da aplicação com o banco publicado.