Começando com NestJS
Published: 2023-03-28 23:24:33


## :rocket: Borá?

Se você está procurando uma maneira rápida e eficaz de aprender NestJS, está no lugar certo! Neste artigo, vou te guiar pelo caminho correto para começar a aprender o framework NestJS de maneira eficiente e com boa prática de desenvolvimento.

## 🤔 O que é o NestJS?

NestJS é um framework de desenvolvimento web para Node.js. Ele é baseado no popular framework Angular e oferece muitos recursos úteis para criar aplicativos da web escaláveis e robustos. O NestJS usa uma abordagem modular e fortemente tipada para construir aplicativos da web, tornando-o uma ótima escolha para grandes projetos.

## 📚 Conhecimentos prévios

Antes de começar a estudar o NestJS, é importante ter um conhecimento básico de JavaScript e do funcionamento do Node.js. Você deve estar familiarizado com conceitos como módulos, classes, operadores e callbacks. Além disso, você deve estar confortável com o uso de um terminal para executar comandos do Node.js e instalar pacotes do npm.

## 🚀 Começando com NestJS

Agora que você tem os pré-requisitos para começar, vamos às dicas para iniciar sua jornada com o NestJS:

### 1. Comece com a documentação oficial

A documentação oficial do NestJS é um ótimo ponto de partida. Ela é bem organizada e oferece muitos exemplos de código para ajudá-lo a entender o funcionamento do framework. Além disso, a documentação oficial do NestJS é sempre atualizada com as últimas versões do framework, o que garante que você esteja sempre por dentro das melhores práticas e recursos.

- 📖 [Documentação do NestJS](https://docs.nestjs.com/)

### 2. Utilize o NestJS CLI

O NestJS CLI é uma ferramenta de linha de comando que ajuda a criar rapidamente novos projetos e componentes do NestJS. Ele vem com muitos recursos úteis, como a criação automática de módulos, controladores e provedores. Utilizar o NestJS CLI pode economizar muito tempo e garantir que você esteja seguindo as melhores práticas do framework.

 A maneira mais fácil de começar é criar um novo projeto usando o CLI do Nest. Para fazer isso, primeiro, certifique-se de que você tem o Node.js instalado em sua máquina. Em seguida, abra o terminal e execute o seguinte comando:

```js
npm i -g @nestjs/cli
```

Este comando instalará o CLI do NestJS globalmente em sua máquina. Agora, você pode criar um novo projeto NestJS executando o seguinte comando:

```js
nest new project-name
```

Substitua project-name pelo nome que você deseja dar ao seu projeto. Este comando irá criar uma nova pasta com o nome do seu projeto, contendo a estrutura básica do projeto NestJS.

Agora que você tem um projeto NestJS em branco, é hora de começar a criar alguns endpoints para sua API. Para fazer isso, crie um novo controlador executando o seguinte comando:

```js
nest generate controller cats
```

Este comando criará um novo arquivo cats.controller.ts na pasta src/ do seu projeto. Abra este arquivo e adicione o seguinte código:

```ts
import { Controller, Get } from '@nestjs/common';

@Controller('cats')
export class CatsController {
  @Get()
  findAll(): string {
    return 'This action returns all cats';
  }
}

```

Este código define um novo controlador `CatsController` que responde a solicitações GET na rota `/cats` e retorna a string `'This action returns all cats'`.

Agora, execute o seguinte comando para iniciar o servidor do NestJS:

```js
npm run start
```

Este comando iniciará o servidor do NestJS e você poderá acessar sua API em `http://localhost:3000/cats`.

### 3. Aprenda com projetos reais

Aprender com projetos reais é uma das melhores maneiras de entender como o NestJS funciona na prática. Tente encontrar projetos open source do NestJS e estude como eles foram construídos. Além disso, construir seus próprios projetos do zero pode ajudá-lo a consolidar seus conhecimentos e a praticar suas habilidades.

1. [NestJS Realworld Example App](https://github.com/lujakob/nestjs-realworld-example-app) - um projeto exemplo construído com o NestJS que segue as especificações do [RealWorld app](https://github.com/gothinkster/realworld) para implementar um aplicativo completo.
2. [NestJS Starter](https://github.com/thisismydesign/nestjs-starter) - um projeto exemplo para iniciar um aplicativo com o NestJS que inclui autenticação de usuário, banco de dados e uma API RESTful.
3. [NestJS CQRS Example](https://github.com/kyhsa93/nestjs-rest-cqrs-example) - um projeto exemplo que usa o padrão CQRS (Command Query Responsibility Segregation) com o NestJS.
4. [NestJS GraphQL Example](https://github.com/hantsy/nestjs-graphql-sample) - um projeto exemplo que usa o NestJS com GraphQL para criar uma API de todo list.
5. [NestJS Swagger Example](https://github.com/notiz-dev/nestjs-swagger) - um projeto exemplo que usa o NestJS com Swagger para documentar uma API.


### 4. Comunidade NestJS

A comunidade do NestJS é ativa e acolhedora. Você pode encontrar muitas informações úteis em fóruns, grupos de discussão e no Discord oficial do NestJS. Além disso, você pode acompanhar as atualizações do NestJS no Twitter e no blog oficial do NestJS.

- 🚀 [Discord do NestJS](https://discord.com/invite/nestjs)


## Recursos e Cursos Oficiais da NestJS e Afins

A equipe da NestJS oferece uma variedade de cursos oficiais que podem ajudá-lo a aprender o NestJS de forma mais eficaz. Aqui estão alguns dos cursos mais populares:

- **[NestJS Fundamentals](https://courses.nestjs.com/)** - Este é um curso oficial da NestJS que cobre os fundamentos da estrutura, incluindo os conceitos básicos de injeção de dependência, controladores, provedores e módulos.

- **[NestJS Zero to Hero](https://www.udemy.com/course/nestjs-zero-to-hero/)** - Este curso é uma introdução completa ao NestJS e cobre tudo, desde os conceitos básicos até recursos avançados, como autenticação, autorização e testes.

- **[Advanced NestJS](https://courses.nestjs.com/#advanced-concepts)** - Este curso avançado é destinado a desenvolvedores que já têm experiência com o NestJS e desejam aprimorar suas habilidades em áreas como microserviços, mensageria e arquitetura de software.()

Esses cursos são ministrados por instrutores especializados da NestJS. .

Certifique-se de verificar o site oficial da NestJS para obter informações atualizadas sobre os cursos disponíveis e os detalhes de preços.



## 🏆 Conclusão

O NestJS é um framework poderoso e popular para o desenvolvimento web com Node.js. Aprender o NestJS do Jeito Certo pode garantir que você esteja seguindo as melhores práticas e desenvolvendo aplicativos da web escaláveis.

![Poder](https://media.giphy.com/media/I7NEWlnDp3SDXyldgM/giphy.gif)