NestJS + TypeORM + GraphQL | Code Challenge

  Рет қаралды 83,453

Rocketseat

Rocketseat

4 жыл бұрын

Faala dev!
Nesse Code Challenge eu, Guilherme Rodz, desenvolvedor aqui na Rocketseat, fiz uma aplicação Full-Stack com Nest.js, TypeORM e GraphQL no Back-end. No Front-end, utilizamos React e Apollo Client com Hooks para consumir os dados.
Entramos em conceitos como Code-first, Schema-first, real time, decorators.
Vaaleu! 💜
Repositório: github.com/rocketseat/youtube...
-----
Acompanhe a Rocketseat nas redes sociais:
Site: www.rocketseat.com.br
Twitter: / rocketseat
Facebook: / rocketseat
Instagram: / rocketseat_oficial
Comunidade: comunidade.rocketseat.com.br
Blog: rocketseat.com.br/blog
Ouça também:
Spotify: spoti.fi/2PwXeUp
Anchor.fm: anchor.fm/faladev
Apple Podcasts: apple.co/2pReOrN
Google Podcast: bit.ly/2Cgj077

Пікірлер: 105
@srviktor8306
@srviktor8306 3 жыл бұрын
"um gatinho na tela e n sou eu" , humilde, kkkkkkkkkkkkkkkk, cara bom!!!!
@laramycarvalho5021
@laramycarvalho5021 2 жыл бұрын
Excelente vídeo, é a stack do backend da empresa que trabalho. Me ajudou a tirar muitas duvidas da sintaxe e já repassei :) A Rocketseat sempre trazendo o suprassumo das stacks do mercado!!!!
@douglasdelabrida7219
@douglasdelabrida7219 4 жыл бұрын
Iniciei um projeto com o Nest.js no final de 2018, melhor decisão sem dúvidas.
@paulosantana8056
@paulosantana8056 4 жыл бұрын
Tem usado para estudos e projetos pessoais e é incrível nestjs, muito bom e casa perfeitamente com typeorm
@ericsilvaccp
@ericsilvaccp 4 жыл бұрын
Cara já usei o NestJS em alguns projetos pessoais, ele integra perfeitamente com TypeORM, são ferramentas fantásticas, é simplesmente incrível.
@fernandokawano
@fernandokawano 4 жыл бұрын
Fiz um projeto para um cliente e nunca tinha criado o backend para minhas aplicações, NESTJS + Typeorm foram fantásticos pra meu sistema. JWT, mutter etc. Mt massa
@ohervis
@ohervis 4 жыл бұрын
Nest é delicinha. Uso ele desde 2018 e só vem melhorando
@ceopaludetto
@ceopaludetto 4 жыл бұрын
Finalmente notaram meu framework favorito!
@iurylemos2020
@iurylemos2020 3 жыл бұрын
Que aulão!! Parabéns, aprendi muita coisa aqui :)
@rocketseat
@rocketseat 3 жыл бұрын
Que massa Iury!! Valeeu pelo elogio! 💜💜
@MsVictorAlisson
@MsVictorAlisson 4 жыл бұрын
Percebi um vacilo grande de cara: Vc não precisa criar as migrations na mão. Basta criar os models com as annotations e gerar as migrations que automaticamente o TypeORM na config do Nest é gerada. Sim, tem como gerar as migrations automaticamente a partir dos models. Outro vacilo: existe um orm.config.json que é destinado para a configuração do db do TypeORM (é a forma recomendada). Aí bastaria chamar createConnection() no main para startar o banco. Até onde vi foram esses os pontos de vacilo. No mais, parece ser um baita vídeo. Dêem like para a galera ver, please.
@delfiofrancisco3469
@delfiofrancisco3469 4 жыл бұрын
Boa noite amigo, segundo q documentação do typeorm não é recomendado utilizar a automatização das migrations (eu esqueci o nome do método) Segundo o que a própria documentação recomenda, pois pode gerar alguns erros de compatibilidades ou algo do tipo
@brunolombardi1512
@brunolombardi1512 4 жыл бұрын
Exatamente! Eu uso um ormconfig.ts, assim com dotenv eu leio as variáveis a partir de um arquivo .env ou das variáveis ambiente em produção. Assim a cada deploy eu executo as migrations.
@jonatasb5528
@jonatasb5528 4 жыл бұрын
Não falo que é exatamente vacilo. Mas há maneiras: syncronize e migration. O typeorm permite. O nestjs sugere o syncronize.
@Lindembergz
@Lindembergz 4 жыл бұрын
tem configurar la no Package.json o comando em script que o CLI vai executar...por exemplo: npm migration:generate
@higoribeiro
@higoribeiro 4 жыл бұрын
Iradooo !! 🚀
@joeljesusJotaDrums
@joeljesusJotaDrums 4 жыл бұрын
Top man, eu tinha citado aqui para vcs sobre eles e vcs trouxeram
@jonathangomes7539
@jonathangomes7539 4 жыл бұрын
Já uso e adoro
@user-bu3hz5be5w
@user-bu3hz5be5w 2 жыл бұрын
It was awesome! Thank you!
@henriqueamaral4017
@henriqueamaral4017 2 жыл бұрын
Resolvendo o problema que voce passou em 23:00 : O arquivo de configuração do orm deve se chamar ormconfig.json, com a mesma estrutura que voce usou no seu arquivo de config. type, database, migrations, entities. Voce so esqueceu do "cli", e ele que aponta para onde o cli vai criar a pasta, entao voce coloca no arquivo ormconfig.json o seguinte: "cli": { "migrationsDir": "pasta/pasta", "entitiesDir": "pasta/pasta" } O arquivo ormconfig.json deve estar na dir, no seu caso dentro da pasta back-end
@leolima8585
@leolima8585 4 жыл бұрын
Irmão Assisti. Muito bom falar dessas stacks. E a falta de vídeos sobre geolocation e maps. Tipo envolvendo db e vídeos. Essa aula tenho muita.vonyade de comprar.se.nao for conteúdo gratuito. Parabéns pela destreza.
@tiagocunhafernandes6607
@tiagocunhafernandes6607 4 жыл бұрын
Léo, já teve semana omnistack com geolocation e maps.. também tem video de react native "recriando interface uber" feito pela rocketseat..
@arayakadu
@arayakadu 4 жыл бұрын
Meus parabéns mesmo sem ter assistido as 3hrs ainda kkkkk
@izak4912
@izak4912 4 жыл бұрын
Nice!
@jucelinofilho9404
@jucelinofilho9404 4 жыл бұрын
As migrações também precisam ter o caminho configurado dentro de um objeto chamado cli, também nas configurações do banco, na documentação do typeorm é explicado. Caso tenha problemas, você pode criar outro arquivo de configuração na raiz do projeto com as mesmas credenciais, só não esquecer de colocar no .gitignore antes de versionar.
@israelmonteirobg525
@israelmonteirobg525 4 жыл бұрын
finalmente man kkkkkk ceta dddddd ai sim ein
@thiagosantos6697
@thiagosantos6697 4 жыл бұрын
o Rodz é mt brabo
@gabriellenoxel
@gabriellenoxel 4 жыл бұрын
Muito bom! E se eu quiser implementar um backend em nest.js na arquitetura de microserviços (que é suportada nativamente pelo nest), essa arquitetura é dividida em dois projetos nest (client e microservice). Então onde é o melhor lugar para dar deploy em cada um desses dois projetos? E como seria a comunicação entre eles em produção, com TCP?
@oldwolfking
@oldwolfking 4 жыл бұрын
Achei vacilo não ter deixado o link do site que vc se baseou na descrição do video, codersera.com/blog/nestjs-typeorm-graphql-dataloader-tutorial-with-typescript/
@rocketseat
@rocketseat 4 жыл бұрын
Vaaleu, Gabriel! 💜 Você tem razão, devemos sempre colocar a fonte! 💜
@ilumynartms
@ilumynartms 3 жыл бұрын
Calma Gabriel, amigão não sei se percebeu, mais o Guilherme esta meio mal de saúde as altas horas da noite, e codando mais de 3 horas em video, kkkkk, acho que somente contribuir colocando o link e ajudando, como fez, já bastava ... agora chamar de vacilo é meio forçado kkk, Obrigado pela contribuição .... Abraços Browww
@paulosoares8626
@paulosoares8626 4 жыл бұрын
Muito bom o video , uma dúvida no caso do GraphQL, teria a possibilidade do response ser customizado por exemplo? tendo em vista que que se tiver um erro interno o próprio GraphQL já retorna um json com uma série de informações.
@rocketseat
@rocketseat 4 жыл бұрын
Faala, Paulo! 💜 Você conhece a nossa comunidade aberta? Por lá você pode tirar essas e outras dúvidas que tiver 💜 Segue o link: www.rocketseat.com.br/comunidade
@leolima8585
@leolima8585 4 жыл бұрын
O que vocês acham de desbloqueio com impressão digital para react native?
@renanlido_dev
@renanlido_dev 2 жыл бұрын
Rodz ansiedade nivel hadcore! haha! 1milhão de clicks por segundo kkkkkkkkkkkkkkk
@leodiegoo
@leodiegoo 4 жыл бұрын
Qual o teclado que você usa? =) Ótimo vídeo!
@alanschlindvein
@alanschlindvein 4 жыл бұрын
para rolar a criação da migration no local correto, tem que passar o caminho das migrations no atributo cli dentro do orm config
@rocketseat
@rocketseat 4 жыл бұрын
Vaaleu pela dica, Alan 💜
@Lindembergz
@Lindembergz 4 жыл бұрын
Yeesss
@gabrielpires5427
@gabrielpires5427 4 жыл бұрын
Os .inputs seriam tipo 'models' que vem do front? e os resolver seria tipo uma service? onde teria os métodos de CRUD com regras por exemplo? teria como fazer esses tipos de analogias?( pra quem ainda não é muito familiar se achar hehe )
@JohanGuse
@JohanGuse 4 жыл бұрын
Repositório não tá lá... arruma o link? Essa stack é foda!
@leolima8585
@leolima8585 4 жыл бұрын
O que você pensam sobre vincular imei de aparelho para Android e ios como forma de limitar cadastros por aparelhos.em aplicativos
@mariomorris1284
@mariomorris1284 2 жыл бұрын
wow
@dbbrinfo3228
@dbbrinfo3228 4 жыл бұрын
Parabéns pelo post. Bem explicado. Me mata minha curiosidade, por favor. Voce está usando Linux, certo ? Se sim, qual a distribuição ? Valeu...
@dbbrinfo3228
@dbbrinfo3228 4 жыл бұрын
Valeu, muito obrigado.
@ariamustofa
@ariamustofa 3 жыл бұрын
what os are you currently using?
@paula1rick
@paula1rick 4 жыл бұрын
Gostaria de sugerir uma aula aprofundada na questao de mobile first, como salvar no banco local, e sincronizar apos a conexao ser restabelecida.
@caiocutrim3596
@caiocutrim3596 3 жыл бұрын
da hora o video
@rocketseat
@rocketseat 3 жыл бұрын
Valeeeu Caio!! 💜
@preguicacansada6105
@preguicacansada6105 4 жыл бұрын
oi ainda não assisti o vídeo por completo mas eu queria tirar uma duvida. Como é a preparação de vocês para aprender um novo Framework , vocês estudam e já praticam aos mesmo tempo, mais ou menos quanto tempo levam para aprender e ter a confiança suficiente para aplicar em algum trabalho.
@preguicacansada6105
@preguicacansada6105 4 жыл бұрын
@@rodz vlw cara ajudou pra caramba , já sei pelo menos como começar . Obrigado!
@luisAntoniod313
@luisAntoniod313 4 жыл бұрын
Vai pro java com springboot e com angular e seja feliz ou não kkkkk
@xMorthy
@xMorthy 4 жыл бұрын
Para quem quer que apareça os icones do NestJS ao invés de Angular:
@xMorthy
@xMorthy 4 жыл бұрын
"material-icon-theme.files.associations": { "*.controller.ts": "nest-controller", "*.module.ts": "nest-module", "*.service.ts": "nest-service", "*.middleware.ts": "nest-middleware", "*.filter.ts": "nest-filter", "*.pipe.ts": "nest-pipe", "*.gateway.ts": "nest-gateway", "*.decorator.ts": "nest-decorator", "*.resolver.ts": "nest-resolver", "*.input.ts": "nest-input", "*.guard.ts": "nest-guard", }
@hitallo91
@hitallo91 4 жыл бұрын
show meu querido
@samuelmarcossherman272
@samuelmarcossherman272 3 жыл бұрын
como resolveu o problema do arquivo de configuraçao ?
@miguelsodre1208
@miguelsodre1208 3 жыл бұрын
Cara muito show o conteúdo, mas ele é muito avançado, eu que sou intermediário tive um pouco de dificuldade
@EsronDtamar
@EsronDtamar 4 жыл бұрын
Ué, tá melhor que a semana omnistack? kkkkkk
@wesleyoliveira1233
@wesleyoliveira1233 3 жыл бұрын
Gosto muito desse formato de vídeo. Mostra o feitiço sendo feito e não a mágica.
@wesleyfeitosa0
@wesleyfeitosa0 4 жыл бұрын
curioso que no meu as subscriptions funcionaram bem.
@rocketseat
@rocketseat 4 жыл бұрын
💜💜💜
@abraaofaher2400
@abraaofaher2400 4 жыл бұрын
Poderia disponibilizar esse .bashrc?
@moullen4022
@moullen4022 3 жыл бұрын
como faz para deixar essas setinhas bonitas, nas arrows functions?
@marcosrossetto7304
@marcosrossetto7304 3 жыл бұрын
Não sei se já descobriu, mas é a fonte... Se chama Fira Code. github.com/tonsky/FiraCode
@moullen4022
@moullen4022 3 жыл бұрын
@@marcosrossetto7304 muito obrigado marcos!
@patrickdorneles9415
@patrickdorneles9415 4 жыл бұрын
Conheci o NestJS a pouco mais de um ano, depois disso não consegui parar de usa-lo :D Fora isso seria melhor usar o sistema de modules do NestJS, acho que se encaixa mais no design do framework
@danielprando_
@danielprando_ 4 жыл бұрын
Mesma situação, hehe
@andersondossantoscruz3685
@andersondossantoscruz3685 4 жыл бұрын
Nunca usei nestjs, mais typeorm com typegraphql brilha
@l.parrilla7513
@l.parrilla7513 2 жыл бұрын
30:00
@iury664
@iury664 9 ай бұрын
nunca vi mexer nas migrations dessa forma
@hitallo91
@hitallo91 4 жыл бұрын
Isso parece muito com meus trabalhos na escola, CRTL+C e CRTL+V.
@thiagoalencar3237
@thiagoalencar3237 4 жыл бұрын
Qual sistema operacional você usa?
@fabioramatis2373
@fabioramatis2373 4 жыл бұрын
Ele usa Ubuntu, so não sei dizer qual versão, provavelmente a 18.04 pelo layout
@thiagoalencar3237
@thiagoalencar3237 4 жыл бұрын
@@rodz Achei bem bacana o vídeo, primeiramente meus parabéns, tua evolução foi tremenda, meus parabéns msm, e faz tempo que não uso o Ubuntu achei que era Mac pela doca ser diferente kk
@ViniciusLanzoni
@ViniciusLanzoni 3 жыл бұрын
Alguém sabe pq dá esse erro hora que eu tento rodar: Error: Nest can't resolve dependencies of the UserResolver (?). Please make sure that the argument RepoService at index [0] is available in the UserResolver context. Potential solutions: - If RepoService is a provider, is it part of the current UserResolver? - If RepoService is exported from a separate @Module, is that module imported within UserResolver? @Module({ imports: [ /* the Module containing RepoService */ ] })
@rocketseat
@rocketseat 3 жыл бұрын
Faaaaala, Vinicius! Bora lá pra nossa comunidade no Discord que o pessoal é incrível e tenho certeza que vai te ajudar! 💜
@ViniciusLanzoni
@ViniciusLanzoni 3 жыл бұрын
@@rocketseat Tem como me passar o link? :) O comunidade.rocketseat.com.br está dando invite inválido... :/
@ViniciusLanzoni
@ViniciusLanzoni 3 жыл бұрын
Depois de muito quebrar a cabeça e vários code reviews, descobri o problema e ai vai para futuras pessoas que porventura venham a enfretar o mesmo problema que eu: O decorator @Global() no RepoModule que eu não tinha colocado. :)
@user-vg8st4bh6w
@user-vg8st4bh6w 3 жыл бұрын
I can't under stand your language ,but It is Awesome.
@yangoncalves1520
@yangoncalves1520 3 жыл бұрын
alguém poderia me esclarecer o seguinte código: ... {data?. ... qual o significado de "?."
@franciscopessoa655
@franciscopessoa655 3 жыл бұрын
A interrogação basicamente diz que o parametro é opcional.
@caiocutrim3596
@caiocutrim3596 3 жыл бұрын
Em resumo, é uma validação, caso o data estiver presente ele vai rodar o map, caso contrário, não irá rodar, é tipo um ternário mais simplificado para propiedades de objetos.
@leof111
@leof111 Жыл бұрын
Não conheço essa Stack
@flaviohugopangraciosilva6439
@flaviohugopangraciosilva6439 4 жыл бұрын
Esse tema Dracula está um pouco diferente, qual é?
@joeldaros
@joeldaros 4 жыл бұрын
Esses ORMs parecem a 8 maravilha do mundo, até que sua aplicação fique complexa. Pra query’s complexas vira um inferno.
@souzaramon9522
@souzaramon9522 4 жыл бұрын
Todos os ORM's oferecem a possibilidade de vc dar raw em querys sql.
@joaovictor852
@joaovictor852 4 жыл бұрын
É pra isso que serve o Knex haha
@isaiasmendes
@isaiasmendes 3 жыл бұрын
Para resolver o problema de criar as migrations no caminho correto, basta adicionar o trecho de código abaixo, no objeto options do arquivo orm.ts cli: { migrationsDir: 'src/db/migrations', },
@rocketseat
@rocketseat 3 жыл бұрын
Fala Isaías! Valeeu por compartilhar a solução! 💜
@dbtrnl
@dbtrnl 3 жыл бұрын
Aqui não funcionou, acabei usando um arquivo de config em JSON mesmo e apontando o typeorm pra ele com a flag --config. Por alguma razão o arquivo de config em TS não funciona :|
@iorrancastro
@iorrancastro 4 жыл бұрын
Solução: github.com/apollographql/apollo-link/issues/910#issuecomment-608272053 node_modules/apollo-link/lib/types.d.ts:23:56 - error TS2315: Type 'ExecutionResult' is not generic. 23 }, C = Record, E = Record> = ExecutionResult & { ~~~~~~~~~~~~~~~~~~~~~~ Found 1 error(s).
@elvispalace
@elvispalace 4 жыл бұрын
Mano, faz um vídeo do React Native for Windows, pfv
@delfiofrancisco3469
@delfiofrancisco3469 4 жыл бұрын
To sonhando?
@jacsa77
@jacsa77 4 жыл бұрын
English please
@bkunace
@bkunace 4 жыл бұрын
Rapaz, 3h de video...
@eltonsantosoficial
@eltonsantosoficial 3 жыл бұрын
Nest x Adonis?
@newsbrazil4419
@newsbrazil4419 3 жыл бұрын
pelo menos ele fala menos que o diego kkkkkk
@rocketseat
@rocketseat 3 жыл бұрын
Hahahaha 💜
@IcaroFelix2023
@IcaroFelix2023 3 жыл бұрын
Nestjs >>> Expres
@rocketseat
@rocketseat 3 жыл бұрын
😄😄
@Lindembergz
@Lindembergz 4 жыл бұрын
desta forma consigo criar o migration baseado nos decorators da entidade: npm i -g @nestjs/cli npm i -D dotenv @types/dotenv npm i @nestjs/typeorm typeorm pg
@rocketseat
@rocketseat 4 жыл бұрын
Valeeeu pela dica, Lindemberg! 💜
@bkunace
@bkunace 4 жыл бұрын
Triste é ter que usar decorators, pra quem vem do javascript funcional, sem uso de typescript, é bem chato... Parece que ta usando spring boot do java (cruzes)
@4lm0std0n3
@4lm0std0n3 4 жыл бұрын
o melhor do javascript é o typescript e a molecada achando ruim
@leandrosoares6
@leandrosoares6 3 жыл бұрын
Nada pow há quem goste bastante de decorators.
Microsserviços com gRPC | Code Challenge
3:46:07
Rocketseat
Рет қаралды 53 М.
The child was abused by the clown#Short #Officer Rabbit #angel
00:55
兔子警官
Рет қаралды 12 МЛН
ROCK PAPER SCISSOR! (55 MLN SUBS!) feat @PANDAGIRLOFFICIAL #shorts
00:31
Tom & Jerry !! 😂😂
00:59
Tibo InShape
Рет қаралды 53 МЛН
Next.js - Autenticação JWT com back-end próprio - Code/Drops #72
1:05:36
NestJS, GraphQL & TypeORM Tutorial
2:22:44
Anson the Developer
Рет қаралды 13 М.
Comunicação entre aplicações com RabbitMQ e NestJS
1:03:52
Ediano Silva Santos
Рет қаралды 97
Background jobs (filas) no Node.js com Redis | Masterclass #02
53:22
GraphQL no Node.js do ZERO criando 2 apps completos
44:34
Rocketseat
Рет қаралды 43 М.
TypeScript Origins: The Documentary
1:21:36
OfferZen Origins
Рет қаралды 274 М.
SQL no Node.js com Sequelize | Masterclass #01
1:40:22
Rocketseat
Рет қаралды 247 М.
The child was abused by the clown#Short #Officer Rabbit #angel
00:55
兔子警官
Рет қаралды 12 МЛН