
Links apresentados na video aula:
https://visualstudio.microsoft.com/pt-br/downloads/
https://www.docker.com/products/docker-desktop
Nessa vídeo aula nós criaremos um projeto .NET Core com o template Empty e passaremos por cada um dos arquivos para entender a resposabilidade de cada um deles.
Nessa vídeo aula nós rodaremos o nosso projeto no IISExpress e via linha de comando.
Nessa vídeo aula nós adicionaremos uma controller no nosso template e configuraremos para que o projeto reconheça ela.
Nessa vídeo aula nós adicionamos o Swagger na nossa aplicação. Link da doc: https://docs.microsoft.com/en-us/aspnet/core/tutorials/getting-started-with-swashbuckle?view=aspnetcore-5.0&tabs=visual-studio
Video aula nós veremos uma breve introdução de como trabalhar Injeção de dependencias no .NET, utilizando o novo formato de DI que o framework nos disponibiliza.
Nessa vídeo aula nós veremos como trabalhar com injeção de depencias no .NET Core.
Vida útil de um serviço
Começando pelo ciclo de vida, a seguir você tem uma breve descrição dos tipos de serviço que nós podemos trabalhar com .NET:
Singleton: O AddSingleton é instanciado apenas uma vez;
Scoped: O AddScoped adiciona uma instancia dentro do escopo de cada requisição;
Transient: O AddTransient cria uma nova instancia a cada requisição;
Nessa video aula nos entenderemos como funciona um middleware e criamos um de exemplo. Para mais informações sobre middlers eu recomendo a leitura do seguinte artigo: https://medium.com/xp-inc/dica-r%C3%A1pida-net-5-middleware-e3695077e302
Link para download do Robo 3T https://robomongo.org/download
Link para download do Visual Studio 2022: https://visualstudio.microsoft.com/pt-br/vs/
Comando docker para criar um container mongo com a versão 3.2
docker run -d -p 27017:27017 -p 28017:28017 -e AUTH=no tutum/mongodb:3.2
Link do projeto Angular: https://github.com/programadriano/angular-crud
Link do repositório do Vaughn Vernon com o trecho de código mencionado nesta vídeo aula:
https://github.com/VaughnVernon/IDDD_Samples_NET/blob/master/iddd_common/Domain.Model/AssertionConcern.cs
Link do ADM na nova branch: https://github.com/programadriano/angular-crud/tree/novo-projeto-front
Link do projeto frontend: https://github.com/programadriano/angular-site
Link do projeto atualizado: https://github.com/programadriano/angular-crud/tree/ng-jwt
Trecho de código:
builder.Services.AddSwaggerGen(c =>
{
c.AddSecurityDefinition("bearer", new OpenApiSecurityScheme
{
Type = SecuritySchemeType.Http,
Scheme = "bearer",
BearerFormat = "JWT",
Description = "JWT Authorization header using the Bearer scheme."
});
c.AddSecurityRequirement(new OpenApiSecurityRequirement
{
{
new OpenApiSecurityScheme
{
Reference = new OpenApiReference { Type = ReferenceType.SecurityScheme, Id = "bearer" }
},
new string[] {}
}
});
});
Pacotes Nuget necessários para que possamos trabalhar com HealthCheck
AspNetCore.HealthChecks.MongoDb
AspNetCore.HealthChecks.UI
AspNetCore.HealthChecks.UI.Client
AspNetCore.HealthChecks.UI.InMemory.Storage
Se esse é o seu primeiro contato na criação de API's RESTful ou nunca desenvolveu uma solução utilizando .NET, C# com mongoDB, esse curso é perfeito para você.
Eu irei dividir ele em tópicos do básico ao avançado, dessa forma caso você seja iniciante irá aprender ou melhor entender todas as etapas de desenvolvimento de uma API utilizando essas tecnologias, que estão em alta no mercado.
No final do curso você terá o conhecimento necessário para trabalhar com as seguintes tecnologias:
Criação de API's RESTful do zero com .NET 5 e 6, C#, mongoDB;
Conhecer a arquitetura básica do .NET para que possa desenvolver as suas aplicações com confiança;
Como trabalhar com Injeção de dependencias no .NET;
Como funciona um middleware .NET e a desenvolver os seus próprios middlewares;
O que é e porque utilizar o CancellationToken;
A Trabalhar com AutoMapper;
A validar os seus endpoints através do swagger;
Migrar o projeto desenvolvido em .NET 5 para .NEt 6
Criação de um microservice de autenticação em .NET 7;
Autenticação com JWT no back e no front (projetos compartilhados com vocês desenvolvidos em Angular);
Upload de imagens;
Exemplos práticos validando a sua aplicação através de projetos reais frontend desenvolvidos em Angular;
Conceitos básicos de testes unitários em uma aplicação .NET;
Adicionar HealthCheck na sua aplicação;
Trabalhar com Automapper;
Trabalhar com Cache em memoria e com o Redis
Migrar a estrutura do projeto que esta em Mongo para SQL Server com EF Core (módulo extra)
Mas não para por ai, esse curso começa com dois módulos básicos demonstrando a arquitetura do .NET e como desenvolver um CRUD completo em .NET com MongoDB e será atualizado com novos módulos práticos.
Enfim o objetivo central deste curso será servir de ponto de partida para que os alunos possam expandir seus conhecimentos sobre o tema e possam “caminhar com as próprias pernas”.