Crie e Faça Deploy de uma API COMPLETA com Node, TypeScript & MongoDB

preview_player
Показать описание
Neste vídeo criaremos uma API REST completa, com um CRUD de usuários, usando Node, Express, TypeScript e MongoDB. Também faremos o seu deploy para o Railway.

Aprenderemos vários conceitos super importantes, como:
• Princípios do SOLID
• Injeção de dependência (Dependency Injection)
• Repository Pattern
• E muito mais!

PARTICIPE DA NOSSA COMUNIDADE NO DISCORD:

--------------------------

LINKS:

--------------------------

ASSISTA AOS MELHORES VÍDEOS DO CANAL:

▸ CURSO DE TYPESCRIPT PARA COMPLETOS INICIANTES

▸ CURSO DE NODE.JS PARA COMPLETOS INICIANTES

▸ CURSO DE REACT PARA COMPLETOS INICIANTES

--------------------------

REDES SOCIAIS:

--------------------------

TIMESTAMPS:

00:00:00 - Introdução
00:01:10 - Setup do Projeto
00:08:39 - Configurando o Express
00:11:04 - Arquitetura da API (Controllers & Repositories)
00:12:08 - Repository Pattern
00:14:31 - Criando o GetUsersController
00:24:27 - Criando o MongoGetUsersRepository
00:30:21 - Configurando o MongoDB com Docker Compose
00:32:05 - Configurando o MongoDB com MongoDB Atlas
00:34:25 - Criando o MongoClient para se conectar com MongoDB
00:44:25 - Chamando o MongoDB no MongoGetUsersRepository
00:51:07 - Criando o CreateUserRepository
00:59:29 - Criando o CreateUserController
01:08:50 - Criando um usuário pelo Postman
01:11:34 - Adicionando validações no CreateUserController
01:18:06 - Criando o UpdateUserRepository
01:24:40 - Criando o UpdateUserController
01:35:13 - Atualizando um usuário pelo Postman
01:36:30 - Criando o DeleteUserRepository
01:40:31 - Criando o DeleteUserController
01:44:10 - Deletando um usuário pelo Postman
01:45:01 - Fazendo refatorações
02:03:03 - Fazendo o Deploy
Рекомендации по теме
Комментарии
Автор

Parabéns pelo seu excelente trabalho, você expandiu meu conhecimento em mais de 50% sobre programação para mim, agora com esse vídeo espetacular consigo entender melhor como funcionam e para que funciona dando um sentido ao que estava confuso. E uma dica para o pessoal que está assistindo agora, vai gradualmente e não faz tudo só copiando, demorei uma semana estudando 2 horas todos os dias dessa semana cada parte do código até entender e no final conseguir fazer a API e o deploy.

felipebarroso
Автор

Estou começando com TS, vídeo excelente! Valeu !

xthefrancisxify
Автор

Acho que essa foi a melhor video-aula que já assisti no youtube.
Gostaria de ajudar alguns que podem ter travado em alguns pontos na configuração do ambiente.
Não utilizei yarn, utilizei npm mesmo e no meu caso tive que fazer algumas mudanças:

Ao invés de:
'npm add -D tsc typescript ts-node'
e
'npx tsc --init'

usei:
'npm add -D ntypescript typescript ts-node'
e
'npx ntsc --init'

No 'package.json' a mudança ficou:
de:
"test": "echo \"Error: no test specified\" && exit 1"
para:
"start:dev": "nodemon --exec npx ts-node src/index.ts"

E para rodar o projeto:
Ao invés de:
'npm start:dev'
tive que usar:
'npm run start:dev'

Grande abraço!!!

Selcaroh
Автор

Parabéns pelo vídeo ajudando as pessoas dev Back-End, e quem é apaixonado por TypeScript assim como eu 💜

AnonymousBR-uhlm
Автор

obrigado, tentei muito no da vercel sem sucesso, agora pela railway com seu tutorial consegui fazer um deploy. Depois se puder fazer um tutorial de deploy expressjs+typescript na vercel seria top. obrigado

philipepics
Автор

Eu estava ha meses com bloqueio pra trabalhar com programacao e seu video foi o que me deu um start novamente. Otimo conteudo. Parabens e obrigado!

fabiodossantos
Автор

Cara, que vídeo incrível, me ajudou muito numa coisa que eu tava travada, muitíssimo obrigada

dudamarchi
Автор

Conseguir terminar e rodar, o projeto todo. deu tudo certo.

antonioclebercantosaraiva
Автор

Que aulão! Parabéns!
Tirei muito proveito dos conceitos ensinados.
Obrigado pelo vídeo.
Gostaria de saber como posso implementar a autenticação de usuários usando JWT dentro desse padrão.
Eu teria que criar algo como controllers/login-user, e, em seguida, desenvolver a lógica de autenticação de forma semelhante à validação que você fez em controllers/create-user?

robsonoliveira
Автор

Cai de paraquedas nesse canal pra ficar maluco com o conteúdo. Grande mestre!

luizinhogm
Автор

Conteúdo incrível, vai me ajudar muito !!

ecoplavespucio
Автор

Parabéns pelo teu vídeo e pela boa didática.Eu particularmente sou critico dessa tecnologia devido ser muita verbosidade, camadas e código para se fazer algo simples.(você não tem culpa).

AlmirBispo-CSV-Comp-DB
Автор

Nem assisti completo, mas já deixei o like pq sei da qualidade kkk.

enriquesantosdeoliveira
Автор

Acabou de ganhar mais um inscrito! Parabéns pela qualidade da aula e do código! Me tira uma dúvida (estou aprendendo design patterns), o que vc fez no index não representa o papel do controller? e o que vc fez no controller não deveria ser feito por uma camada "service" por conta das regras de negócio?

andersonpavani
Автор

Estou aprendendo ainda e queria usar estes usuários autenticados em outra API... Seria legal rodar duas api ou integrar tudo em uma só?

ueldermartin
Автор

muito bom, porem to com uma duvida.. não seria necessario implementar um useCase como dependencia do controller para cuidar das regras de negocio da aplicação ao inves de validar tudo diretamente no controller?

AntonioThiago-sk
Автор

[nodemon] 2.0.22
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): 'src\'
[nodemon] watching extensions: ts
[nodemon] starting `'ts-node src/index.ts'`
''ts-node' não é reconhecido como um comando interno
ou externo, um programa operável ou um arquivo em lotes.
[nodemon] app crashed - waiting for file changes before starting...

o meu está dando esse erro, sabe como resolver? Segui todoos os passos e nada

onacelio
Автор

Vou subir para o github juntamente com a collections

antonioclebercantosaraiva
Автор

pelo principio do S do SOLID, o controller n seria responsável apenas para chamar um use case ou serviço? No serviço estaria toda nossa regra de negócios e validações e pelo serviço iria chamar meu repositório
Apenas pra eu entender mesmo

ccapua
Автор

Como eu faria nesse caso pra separar as rotas e até mesmo adicionar um serviço de e-mail por exemplo?

alexandrejunior