NodeJs Avançado com Clean Architecture, NestJS e Typescript
What you'll learn
- Criar uma API REST em NodeJs com NestJS e Typescript
- Aplicar Design Patterns em projetos NodeJs com Typescript
- Usar recursos avançados do Typescript como Interface e Generics
- Aplicar Clean Architecture e DDD em uma API criada com NestJS
- Gerar documentação de API Nodejs com NestJS e Swagger
- Criar Workflow de CI com Github Actions
- Deploy em Produção a partir de repositório do Github
Requirements
- Conhecimento em Orientação a Objetos
- Conhecimento em Javascript, Typescript e NodeJs
- Conhecimento básico do framework NestJs
- Conhecimento básico de Docker
Description
Criação de projeto prático direto ao ponto, exemplificando uma API Restful com Node.js, NestJS e Typescript, orientado à testes automatizados (unitários, de integração e ponta a ponta), aplicando conceitos de Domain Driven Design (DDD), Clean Architecture, Design Patterns e princípios SOLID.
Neste curso não teremos toda a teoria do zero sobre as tecnologias abordadas, o foco aqui é criar um projeto prático aplicando alguns conceitos do DDD, Clean Architecture e Testes Automatizados desde o inicio do projeto.
O que você aprenderá no curso:
Criação de uma API RESTful: Você aprenderá a construir uma API RESTful completa utilizando Node.js, NestJS e TypeScript.
Clean Architecture e DDD: O curso aborda a aplicação de Clean Architecture e Domain-Driven Design (DDD) para criar uma API escalável, organizada e de fácil manutenção.
Design Patterns: Você aprenderá a aplicar Design Patterns comuns em projetos Node.js para melhorar a qualidade do seu código.
Testes Automatizados: O curso ensinará a criar testes automatizados em todas as camadas da aplicação, garantindo a qualidade e a confiabilidade do seu código.
Recursos avançados do TypeScript: Você aprenderá a utilizar recursos avançados do TypeScript, como Interfaces e Generics, para escrever código mais seguro e expressivo.
NestJS: Você se aprofundará no framework NestJS, que facilita a criação de aplicações Node.js escaláveis e bem estruturadas.
Prisma ORM: O curso ensinará a utilizar o Prisma ORM para realizar consultas avançadas em bancos de dados de forma eficiente e segura.
Criação de Workflow de CI com Github Actions.
Deploy em produção através de repositório do Github.
O objetivo deste curso é aprofundar na aplicação prática de todas essas tecnologias e metodologias citadas, seguindo as melhores práticas do mercado. Também serão abordados assuntos como princípios SOLID, design patterns e clean code.
Projeto Prático: o curso inclui um projeto prático completo, onde você construirá uma API RESTful com um módulo de usuários, aplicando todos os conceitos aprendidos durante o curso. O projeto incluirá, entre outros recursos, testes automatizados (unitários, de integração e ponta a ponta), tratamento de erros e exceções, autenticação com JWT, e consultas avançadas com Prisma ORM.
O Framework NestJS ficará encarregado pelas funcionalidades da camada de infraestrutura. Serão inúmeros recursos do NestJS que usaremos para aumentar a produtividade, incluindo a criação de rotas, middlewares, controllers, interceptors, exception filters, guards, documentação, etc.
Com relação aos recursos para manipulação dos dados da aplicação, usaremos o Prisma, que é um ORM (Object Relational Mapper) de código aberto que simplifica drasticamente a modelagem de dados, migrações e acesso a dados em bancos de dados SQL e NoSql.
Este curso é para você, se:
Você deseja implementar APIs Restful seguindo práticas do mercado.
Você gosta de aprender com a prática criando um projeto direto ao ponto.
Este curso não é para você, se:
Você é iniciante em programação.
Você nunca trabalhou com Javascript, Nodejs ou banco de dados relacional.
Tecnologias usadas e que precisarão estar instaladas no PC de cada aluno:
Node.js versao 18 ou superior.
Docker Engine.
VS Code ou similar.
Insomnia ou similar.
CLI do NestJS.
Nos vemos no curso!
Who this course is for:
- Desenvolvedores backend que desejam implementar APIs Nodejs
- Desenvolvedores que gostam de aprender com a prática em abordagem direto ao ponto
- Desenvolvedores que querem aprender a utilizar Clean Architecture na prática
- Desenvolvedores que querem aprender a aplicar Design Patterns em projetos Nodejs
- Desenvolvedores que querem aprender sobre arquitetura de software
Instructor
Há 20+ anos trabalhando com TI, como dev para desktop (Delphi e Postgres) e web (PHP, Javasript e Mysql); sysadmin de serviços como email, dns, dhcp, arquivos, webserver; instrutor em treinamentos de administração de sistemas Linux; participei de um projeto open source de customização Linux para inclusão digital em parceria com o Instituto Federal Fluminense, na época CEFET; e por fim, venho trabalhando como dev fullstack (Node.js, ReactJS e React Native).