Skip to content

Nesse desafio, criamos uma aplicação para treinar os conceitos iniciais de NodeJS como rotas, 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". middlewares, servidores, etc. Esse é o 1º…

Notifications You must be signed in to change notification settings

Aszurar/nodejs-concepts-challange-gostack

Repository files navigation

Desafio de Conceitos de Nodejs | GoStack

  • 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.

____
____

ℹ️ Sobre

  • Essa será uma aplicação para armazenar repositórios do seu portfólio, que irá permitir:

    1. a criação,
    2. listagem,
    3. atualização
    4. Remoção dos repositórios
  • Além disso. permitirá que os repositórios possam receber "likes".

  • Estrutura

    1. 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.
    2. Express:
      • Toda criação, inicialização e funcionalidades do projeto foi feito usando o express.
    3. 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.
  • Arquivo principal:

⁉️ Motivo

Com esse projeto foi posto em prática de vários conceitos iniciais de NodeJS, como:

  1. 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.
  2. Configuração e iniciação do Package.json
  3. Prática no uso dos HTTP Codes e HTTP Methods
  4. 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
  5. 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
  6. Uso do Insomnia
  7. 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()
  8. Geração de ids com o uuid
  9. Criação e uso de Middlewares - Uso do método next() - Entendimento mais profundo sobre Request e Response

Funcionalidades

  1. Middleware: validadeId

    • Verifica se o id passado é válido.
  2. 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.
  3. GET /repositories:

    • Rota que lista todos os repositórios;
  4. PUT /repositories/:id:

    • A rota que altera apenas o title, a url e as techs do repositório que possua o id igual ao id presente nos parâmetros da rota;
  5. DELETE /repositories/:id:

    • A rota que deleta o repositório com o id presente nos parâmetros da rota;
  6. POST /repositories/:id/like:

    • A rota deve aumentar o número de likes do repositório específico escolhido através do id presente nos parâmetros da rota, a cada chamada dessa rota, o número de likes deve ser aumentado em 1;

🎨 Documentação

Nodejs Concepts Challange - Swagger


🌱 Requisitos Mínimos

  • NodeJS
  • Express
  • Yarn(ou NPM)

🚀 Principais Tecnologias Utilizadas

O projeto foi desenvolvido utilizando as seguintes tecnologias


📦 Como baixar e executar o projeto

  • 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:
    1. Baixe e Instale o Insomnia:
    2. Importe no Insomnia o arquivo chamado teste-no-insomnia que está na pasta do projeto.
    3. Agora basta executar cada rota no Insomnia para testar o projeto

Desenvolvido por 🌟 Lucas de Lima Martins de Souza.

About

Nesse desafio, criamos uma aplicação para treinar os conceitos iniciais de NodeJS como rotas, 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". middlewares, servidores, etc. Esse é o 1º…

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published