- Nesse desafio, criamos uma aplicação para treinar os conceitos iniciais de NodeJS como rotas, middlewares, servidores, etc.
- Esse é o 1º desafio de NodeJS voltado para o back-end do bootcamp GoStack da Rocketseat.
- O Node é uma plataforma open-source que permite a execução da lingaugem javascript no lado do servidor/back-end.
- Composto por:
- v8: Interpretador de JavaScript, criado pela Google para executar o Chrome, tornando-o muito mais rápido e eficiente e que permite a execução de código javascript no back-end.
- libuv: Biblioteca multiplataforma com o foco em I/O assíncrono melhorando ainda mais o desempenho do Node.
- Também pode ser utildo por outras linguagens.
- Com o objetivo de Melhorar o suporte ao processo de I/O das tecnologias de back-end.
-
Essa será uma aplicação para armazenar repositórios do seu portfólio, que irá permitir:
- a criação,
- listagem,
- atualização
- Remoção dos repositórios
-
Além disso. permitirá que os repositórios possam receber "likes".
-
Estrutura
- Código:
- É tentando manter o padrão que é ensinado na Rocketseat para o código mais limpo, organizado de facil entendimento com sua estrutura de pastas também.
- Todo código foi feito com JavaScript.
- É tentando manter o padrão que é ensinado na Rocketseat para o código mais limpo, organizado de facil entendimento com sua estrutura de pastas também.
- Express:
- Toda criação, inicialização e funcionalidades do projeto foi feito usando o express.
- NodeJS
- Foi cronstruído de forma simples uma aplicação para resgatar os conceitos de Node em conjunto com de uma API Rest.
- Foi usado o yarn como gerenciador de pacotes.
- Código:
- Arquivo principal:
Com esse projeto foi posto em prática de vários conceitos iniciais de NodeJS, como:
- O uso do framework express:
- Iniciação da aplicação/serivdor.
- Auxilia na criação de rotas os métodos http: post, get, patch, put e delete.
- Configuração e iniciação do Package.json
- Prática no uso dos HTTP Codes e HTTP Methods
- Estrutura inicial de um servidor simples com express.
- Uso de Json no express
- Recarregando automaticamente o servidor quando houver alterações no código.
- Esturtura incial de pastas
- Transferência de dados entre a requisição/rotas:
- Uso dos parâmetros de rotas: params e query.
- Uso do parâmetro de Headers
- Uso do Request Body
- Uso do Insomnia
- Entedimento básico sobre Regras de negócio
- Prática de lógica de programação
- Prática e uso de métodos padrões javascript como:
- find()
- some()
- filter()
- reduce()
- indexOf()
- splice()
- Geração de ids com o uuid
- Criação e uso de Middlewares - Uso do método next() - Entendimento mais profundo sobre Request e Response
Funcionalidades
-
Middleware: validadeId
-
POST /repositories:
- A rota deve receber title, url e techs dentro do corpo da requisição, sendo a URL o link para o github desse repositório. Ao cadastrar um novo projeto, ele deve ser armazenado dentro de um objeto no seguinte formato: { id: "uuid", title: 'Desafio Node.js', url: 'http://github.com/...', techs: ["Node.js", "..."], likes: 0 }; Certifique-se que o ID seja um UUID, e de sempre iniciar os likes como 0.
-
GET /repositories:
-
PUT /repositories/:id:
-
DELETE /repositories/:id:
-
POST /repositories/:id/like:
- Após executar a aplicação basta acessar o endereço: http://localhost:3333/api-docs/
- NodeJS
- Express
- Yarn(ou NPM)
O projeto foi desenvolvido utilizando as seguintes tecnologias
- Clonar o projeto:
https://github.com/Aszurar/nodejs-concepts-challange-gostack.git
- É necessário a instalação do yarn de acordo com seu sistema operacional, para isso veja como no site do Yarn
- Instalação das dependências:
- Execute o comando abaixo dentro da pasta do projeto
yarn
- Execução -
yarn dev
- Agora é necessário o uso do Insomnia para que teste cada requisição:
- Baixe e Instale o Insomnia:
- Importe no Insomnia o arquivo chamado teste-no-insomnia que está na pasta do projeto.
- Agora basta executar cada rota no Insomnia para testar o projeto
Desenvolvido por 🌟 Lucas de Lima Martins de Souza.