What you'll learn:
- Construir API Restful Javascript Node com Express e Typescript
- Implementar o TypeORM em projetos Node com Postgres
- Configurar cache na API com o Redis
- Usar o Docker em ambiente de desenvolvimento
- Realizar o deploy em produção com servidor na Digital Ocean
- Qualidade em código com Design Patterns, Domain Driven Design (DDD) e PrincÃpios SOLID
- Testes Automatizados com o framework Jest
Olá Dev, meu nome é Jorge Aluizio!
Ao longo dessa jornada construiremos um exemplo de aplicação backend para gestão de vendas com funcionalidades para criação de cadastro de produtos, cadastro de clientes, pedidos de compras e uma completa gestão de usuários da aplicação, com autenticação via Token JWT, recuperação de senha por email, atualização de perfil, atualização de avatar, e muito mais. Através do TypeORM implementaremos Entidades e Repositórios para cada recurso a ser consumido na API.
Aplicaremos conceitos de boas práticas e qualidade no código, introduzindo recursos como Design Patterns, Domain Driven Design (DDD) e Princípios SOLID, além de introduzir Testes Automatizados com o framework Jest.
Principais recursos que implementaremos no projeto:
API Restful
CORS
Tratamento de erros
Sistema de roteamento
Middlewares
CRUD
TypeORM com o padrão Repository
Migrations
Relacionamento Many-to-Many
Filesystem/upload de arquivos
Armazenamento de arquivos em Bucket Amazon S3
Envio de email fake (dev env) e email profissional com o Zoho Mail e Amazon SES
Autenticação com token de acesso (JWT)
Cache com Redis
Proteção contra ataque DDoS
Design Patterns com Domain Driven Design (DDD) e Princípios SOLID
Iniciando em Testes Automatizados com Jest
Deploy em Produção na Digital Ocean
Principais tecnologias que utilizaremos para desenvolvimento da API: Node.js, Express, Typescript, TypeORM, Postgres através de container Docker, Redis através de container Docker, Amazon S3, Amazon SES, etc.