SlideShare uma empresa Scribd logo
1 de 57
Baixar para ler offline
arquitetura node com
olá! 😄

me chamo Vanessa,
e sou professora e
desenvolvedora na caelum.
sou estudante do mestrado
em ciência da computação
na usp.
e uma das coordenadoras do
coletivo hacker feminista,
marialab.
Fazer o design e
arquitetura de
software, são desafios
conhecidos e diários
que temos que
superar,
principalmente com
JavaScript.
👑
https://insights.stackoverflow.com/survey/2019#technology-_-most-loved-dreaded-and-wanted-web-frameworks
no frontend
Arquitetura
módulos
Angular
😻
Novo projeto
nest
Node.js na versão 8.9.0 ou superior,
instalado em seu sistema operacional.

$ npm install -g @nest/cli
Novo projeto
nest
$ nest new projectname
@Module()
metadados
com decorators
user.module
@Controller()
metadados
com decorators
definição
da rota
definição
do método
HTTP
definição
do método
HTTP
acesso à request,
response, headers,
body.
com decorators
Serviços
@Injectable()
Injeção de
dependência
TypeORM
um momento para
a palavra do
@nest/typeorm
@Entity()
Modelando
entidades
definindo
requisitos
com
decorators
injeção da
entidade User
no service
testes
e2e já pronto
para usar
unit tests
prontos pra uso
comunidade
no discord
dúvidas?
Obrigada!
gabrielcfcleite @ LinkedIn@vanessametonini
agradecimentos pela colaboração:

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Vue.js
Vue.jsVue.js
Vue.js
 
Intro to vue.js
Intro to vue.jsIntro to vue.js
Intro to vue.js
 
Spring Framework - MVC
Spring Framework - MVCSpring Framework - MVC
Spring Framework - MVC
 
Nest.js Introduction
Nest.js IntroductionNest.js Introduction
Nest.js Introduction
 
Introduction to NodeJS
Introduction to NodeJSIntroduction to NodeJS
Introduction to NodeJS
 
Node js for beginners
Node js for beginnersNode js for beginners
Node js for beginners
 
Ingénieur FullStack Java/Angular
Ingénieur FullStack Java/Angular  Ingénieur FullStack Java/Angular
Ingénieur FullStack Java/Angular
 
Rxjs ppt
Rxjs pptRxjs ppt
Rxjs ppt
 
Node.js Express
Node.js  ExpressNode.js  Express
Node.js Express
 
Introduction to node.js
Introduction to node.jsIntroduction to node.js
Introduction to node.js
 
React JS
React JSReact JS
React JS
 
Intro to React
Intro to ReactIntro to React
Intro to React
 
reactJS
reactJSreactJS
reactJS
 
Introduction to ReactJS
Introduction to ReactJSIntroduction to ReactJS
Introduction to ReactJS
 
Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6
 
Spring Framework
Spring Framework  Spring Framework
Spring Framework
 
NodeJS for Beginner
NodeJS for BeginnerNodeJS for Beginner
NodeJS for Beginner
 
Spring boot
Spring bootSpring boot
Spring boot
 
Node.js
Node.jsNode.js
Node.js
 
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...
 

Semelhante a Arquitetura Node com NestJS

Criando APIs com Node e TypeScript
Criando APIs com Node e TypeScriptCriando APIs com Node e TypeScript
Criando APIs com Node e TypeScriptAndre Baltieri
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Daniel Makiyama
 
Paralelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidosParalelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidosElias Nogueira
 
Academia do Arquiteto Globalcode
Academia do Arquiteto GlobalcodeAcademia do Arquiteto Globalcode
Academia do Arquiteto GlobalcodeGlobalcode
 
Como criar e executar testes paralelos web usando Selenium e containers
Como criar e executar testes paralelos web usando Selenium e containersComo criar e executar testes paralelos web usando Selenium e containers
Como criar e executar testes paralelos web usando Selenium e containersElias Nogueira
 
Framework Entities - Apresentação da Defesa da Dissertacao
Framework Entities - Apresentação da Defesa da DissertacaoFramework Entities - Apresentação da Defesa da Dissertacao
Framework Entities - Apresentação da Defesa da DissertacaoMarcius Brandão
 
Indo alem do_mvc_node_js
Indo alem do_mvc_node_jsIndo alem do_mvc_node_js
Indo alem do_mvc_node_jsgustavobeavis
 
Produtividade infinito e além com We.js
Produtividade infinito e além com We.jsProdutividade infinito e além com We.js
Produtividade infinito e além com We.jsAlberto Souza
 
Minicurso Objective-C
Minicurso Objective-CMinicurso Objective-C
Minicurso Objective-CSaulo Arruda
 
Precisamos falar sobre MERN stack
Precisamos falar sobre MERN stackPrecisamos falar sobre MERN stack
Precisamos falar sobre MERN stackSidney Roberto
 
Intro padroesprojetoadaptertemplateobserver
Intro padroesprojetoadaptertemplateobserverIntro padroesprojetoadaptertemplateobserver
Intro padroesprojetoadaptertemplateobserverEduardo Jorge
 
Conhecendo o Meteor
Conhecendo o MeteorConhecendo o Meteor
Conhecendo o MeteorCaio Cutrim
 
Desenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-endDesenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-endGiovanny Valente
 
Primeiros passos no Vue.js
Primeiros passos no Vue.jsPrimeiros passos no Vue.js
Primeiros passos no Vue.jsJoel Rodrigues
 

Semelhante a Arquitetura Node com NestJS (20)

Criando APIs com Node e TypeScript
Criando APIs com Node e TypeScriptCriando APIs com Node e TypeScript
Criando APIs com Node e TypeScript
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
 
Introdução ao Nodejs
Introdução ao NodejsIntrodução ao Nodejs
Introdução ao Nodejs
 
Paralelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidosParalelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidos
 
Academia do Arquiteto Globalcode
Academia do Arquiteto GlobalcodeAcademia do Arquiteto Globalcode
Academia do Arquiteto Globalcode
 
Como criar e executar testes paralelos web usando Selenium e containers
Como criar e executar testes paralelos web usando Selenium e containersComo criar e executar testes paralelos web usando Selenium e containers
Como criar e executar testes paralelos web usando Selenium e containers
 
Framework Entities - Apresentação da Defesa da Dissertacao
Framework Entities - Apresentação da Defesa da DissertacaoFramework Entities - Apresentação da Defesa da Dissertacao
Framework Entities - Apresentação da Defesa da Dissertacao
 
Indo alem do_mvc_node_js
Indo alem do_mvc_node_jsIndo alem do_mvc_node_js
Indo alem do_mvc_node_js
 
Java: Por onde começar nos dias de hoje?
Java: Por onde começar nos dias de hoje?Java: Por onde começar nos dias de hoje?
Java: Por onde começar nos dias de hoje?
 
Introducao ao .Net
Introducao ao .NetIntroducao ao .Net
Introducao ao .Net
 
Curso AngularJS - Parte 1
Curso AngularJS - Parte 1Curso AngularJS - Parte 1
Curso AngularJS - Parte 1
 
Produtividade infinito e além com We.js
Produtividade infinito e além com We.jsProdutividade infinito e além com We.js
Produtividade infinito e além com We.js
 
Minicurso Objective-C
Minicurso Objective-CMinicurso Objective-C
Minicurso Objective-C
 
Precisamos falar sobre MERN stack
Precisamos falar sobre MERN stackPrecisamos falar sobre MERN stack
Precisamos falar sobre MERN stack
 
Intro padroesprojetoadaptertemplateobserver
Intro padroesprojetoadaptertemplateobserverIntro padroesprojetoadaptertemplateobserver
Intro padroesprojetoadaptertemplateobserver
 
Ruby on Rails for beginners 2.0
Ruby on Rails for beginners 2.0Ruby on Rails for beginners 2.0
Ruby on Rails for beginners 2.0
 
Conhecendo o Meteor
Conhecendo o MeteorConhecendo o Meteor
Conhecendo o Meteor
 
SPA's com Blazor e .NET Core
SPA's com Blazor e .NET CoreSPA's com Blazor e .NET Core
SPA's com Blazor e .NET Core
 
Desenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-endDesenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-end
 
Primeiros passos no Vue.js
Primeiros passos no Vue.jsPrimeiros passos no Vue.js
Primeiros passos no Vue.js
 

Mais de Vanessa Me Tonini

CONSUL o software livre para participação democrática escolhida por Porto Alegre
CONSUL o software livre para participação democrática escolhida por Porto AlegreCONSUL o software livre para participação democrática escolhida por Porto Alegre
CONSUL o software livre para participação democrática escolhida por Porto AlegreVanessa Me Tonini
 
Aprendendo Angular com a CLI
Aprendendo Angular com a CLIAprendendo Angular com a CLI
Aprendendo Angular com a CLIVanessa Me Tonini
 
Desenvolvendo com Angular CLI
Desenvolvendo com Angular CLIDesenvolvendo com Angular CLI
Desenvolvendo com Angular CLIVanessa Me Tonini
 
Trabalhando com métodos ágeis: entregando software, feliz
Trabalhando com métodos ágeis: entregando software, felizTrabalhando com métodos ágeis: entregando software, feliz
Trabalhando com métodos ágeis: entregando software, felizVanessa Me Tonini
 
Porque o scrum não vai resolver todos seus problemas
Porque o scrum não vai resolver todos seus problemasPorque o scrum não vai resolver todos seus problemas
Porque o scrum não vai resolver todos seus problemasVanessa Me Tonini
 
Preciso saber se estou indo bem!
Preciso saber se estou indo bem!Preciso saber se estou indo bem!
Preciso saber se estou indo bem!Vanessa Me Tonini
 
Empreendendo com métodos ágeis
Empreendendo com métodos ágeisEmpreendendo com métodos ágeis
Empreendendo com métodos ágeisVanessa Me Tonini
 
O Scrum não vai resolver todos seus problemas
O Scrum não vai resolver todos seus problemasO Scrum não vai resolver todos seus problemas
O Scrum não vai resolver todos seus problemasVanessa Me Tonini
 
Acessibilidade Web: Primeiros passos
Acessibilidade Web: Primeiros passosAcessibilidade Web: Primeiros passos
Acessibilidade Web: Primeiros passosVanessa Me Tonini
 
Automação de build para frontend
Automação de build para frontendAutomação de build para frontend
Automação de build para frontendVanessa Me Tonini
 
A Open Web Platform em prol do seu app!
A Open Web Platform em prol do seu app!A Open Web Platform em prol do seu app!
A Open Web Platform em prol do seu app!Vanessa Me Tonini
 
Trello + metodologias ágeis
Trello + metodologias ágeisTrello + metodologias ágeis
Trello + metodologias ágeisVanessa Me Tonini
 
Acessibilidade no Comércio Eletrônico, custo ou benefício?
Acessibilidade no Comércio Eletrônico, custo ou benefício?Acessibilidade no Comércio Eletrônico, custo ou benefício?
Acessibilidade no Comércio Eletrônico, custo ou benefício?Vanessa Me Tonini
 
Accessibility lightning talk
Accessibility lightning talkAccessibility lightning talk
Accessibility lightning talkVanessa Me Tonini
 
Boas práticas para desenvolvimento de temas para Magento. Meet Magento 12 BR.
Boas práticas para desenvolvimento de temas para Magento. Meet Magento 12 BR.Boas práticas para desenvolvimento de temas para Magento. Meet Magento 12 BR.
Boas práticas para desenvolvimento de temas para Magento. Meet Magento 12 BR.Vanessa Me Tonini
 
Temas para Magento - Bargento Rio de Janeiro 2012
Temas para Magento - Bargento Rio de Janeiro 2012Temas para Magento - Bargento Rio de Janeiro 2012
Temas para Magento - Bargento Rio de Janeiro 2012Vanessa Me Tonini
 
Magento Gerencimento e Customização de Temas
Magento Gerencimento e Customização de TemasMagento Gerencimento e Customização de Temas
Magento Gerencimento e Customização de TemasVanessa Me Tonini
 

Mais de Vanessa Me Tonini (20)

Controle de versão com Git
Controle de versão com GitControle de versão com Git
Controle de versão com Git
 
CONSUL o software livre para participação democrática escolhida por Porto Alegre
CONSUL o software livre para participação democrática escolhida por Porto AlegreCONSUL o software livre para participação democrática escolhida por Porto Alegre
CONSUL o software livre para participação democrática escolhida por Porto Alegre
 
Aprendendo Angular com a CLI
Aprendendo Angular com a CLIAprendendo Angular com a CLI
Aprendendo Angular com a CLI
 
Desenvolvendo com Angular CLI
Desenvolvendo com Angular CLIDesenvolvendo com Angular CLI
Desenvolvendo com Angular CLI
 
Trabalhando com métodos ágeis: entregando software, feliz
Trabalhando com métodos ágeis: entregando software, felizTrabalhando com métodos ágeis: entregando software, feliz
Trabalhando com métodos ágeis: entregando software, feliz
 
Porque o scrum não vai resolver todos seus problemas
Porque o scrum não vai resolver todos seus problemasPorque o scrum não vai resolver todos seus problemas
Porque o scrum não vai resolver todos seus problemas
 
Preciso saber se estou indo bem!
Preciso saber se estou indo bem!Preciso saber se estou indo bem!
Preciso saber se estou indo bem!
 
Empreendendo com métodos ágeis
Empreendendo com métodos ágeisEmpreendendo com métodos ágeis
Empreendendo com métodos ágeis
 
Agente de Mudança
Agente de MudançaAgente de Mudança
Agente de Mudança
 
O Scrum não vai resolver todos seus problemas
O Scrum não vai resolver todos seus problemasO Scrum não vai resolver todos seus problemas
O Scrum não vai resolver todos seus problemas
 
Acessibilidade Web: Primeiros passos
Acessibilidade Web: Primeiros passosAcessibilidade Web: Primeiros passos
Acessibilidade Web: Primeiros passos
 
Automação de build para frontend
Automação de build para frontendAutomação de build para frontend
Automação de build para frontend
 
A Open Web Platform em prol do seu app!
A Open Web Platform em prol do seu app!A Open Web Platform em prol do seu app!
A Open Web Platform em prol do seu app!
 
Trello + metodologias ágeis
Trello + metodologias ágeisTrello + metodologias ágeis
Trello + metodologias ágeis
 
Acessibilidade no Comércio Eletrônico, custo ou benefício?
Acessibilidade no Comércio Eletrônico, custo ou benefício?Acessibilidade no Comércio Eletrônico, custo ou benefício?
Acessibilidade no Comércio Eletrônico, custo ou benefício?
 
Accessibility lightning talk
Accessibility lightning talkAccessibility lightning talk
Accessibility lightning talk
 
Boas práticas para desenvolvimento de temas para Magento. Meet Magento 12 BR.
Boas práticas para desenvolvimento de temas para Magento. Meet Magento 12 BR.Boas práticas para desenvolvimento de temas para Magento. Meet Magento 12 BR.
Boas práticas para desenvolvimento de temas para Magento. Meet Magento 12 BR.
 
Dojo toolkit
Dojo toolkitDojo toolkit
Dojo toolkit
 
Temas para Magento - Bargento Rio de Janeiro 2012
Temas para Magento - Bargento Rio de Janeiro 2012Temas para Magento - Bargento Rio de Janeiro 2012
Temas para Magento - Bargento Rio de Janeiro 2012
 
Magento Gerencimento e Customização de Temas
Magento Gerencimento e Customização de TemasMagento Gerencimento e Customização de Temas
Magento Gerencimento e Customização de Temas
 

Arquitetura Node com NestJS