Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Foi desenvolvido uma aplicação hospedada em um servidor responsável em executar a lógica de negócios e por cadastrar usuários no banco de dados, assegurando as devidas restrições de acesso, segurança e performance da aplicação, utilizando API REST e Login JWT.

Notifications You must be signed in to change notification settings

PedrooMota/Zeta-Seletiva-Backend

Repository files navigation

Zeta Tecnologia e Inovação

Projeto designado para o desafio Back-End do processo da Zeta.

Sumário

Descrição do Projeto

Foi desenvolvido uma aplicação hospedada em um servidor responsável em executar a lógica de negócios e por cadastrar usuários no banco de dados, assegurando as devidas restrições de acesso, segurança e performance da aplicação, utilizando API REST e Login JWT.

A Zeta é uma empresa de Tecnologia e Inovação que desenvolve um sistema embarcado inteligente e inovador, para gestão de operação e manutenção preventiva e preditiva de compressores de ar que funcionará com integração e serviços em nuvem e inteligência artificial.

Funcionalidades

✔️ Funcionalidade 1: Realizar cadastro dos usuários.

✔️ Funcionalidade 2: Realizar o login e automaticamente receber um token.

✔️ Funcionalidade 3: Poder deletar o cadastro de forma autenticada.

✔️ Funcionalidade 4: Poder alterar os dados cadastrados de forma autenticada.

✔️ Funcionalidade 5: Poder listar todos os cadastros.

✔️ Resumindo: Foi realizado uma CRUD.

Ferramentas utilizadas

  • VsCode - IDE - Integrated Development Environment ou Editor de Código.
  • Node - Software de código aberto, multiplataforma, baseado no interpretador V8 do Google e que permite a execução de códigos JavaScript fora de um navegador web. A principal característica do Node.js é sua arquitetura assíncrona e orientada por eventos.
  • TypeScript - Linguagem de programação de código aberto desenvolvida pela Microsoft. É um superconjunto sintático estrito de JavaScript e adiciona tipagem estática opcional à linguagem.
  • Typeorm -Técnica para aproximar o paradigma de desenvolvimento de aplicações orientadas a objetos ao paradigma do banco de dados relacional.
  • Docker - Forma de virtualizar aplicações no conceito de “containers”, trazendo da web ou de seu repositório interno uma imagem completa, incluindo todas as dependências necessárias para executar sua aplicação.
  • Insomnia - Framework Open Source para desenvolvimento/teste de API Clients.

typescript androidStudio firebase firebase

Eu utilizei o terminal do Vscode para executar as instalações, mas você pode utilizar o próprio terminal do Windows.

Para acessar o terminal, use: Windows + R e apertar no "Ok" ou pressionar ENTER.

Passo a Passo para instalar e utilizar o repositório

Instale o Node para executarmos o NPM
Node

Instale o Docker para conseguir utilizar o projeto na máquina.
Docker

Instale o Insomnia para conseguir realizar os testes da API.
Insomnia

Abra o Docker Desktop e o mantenha ligado.

Com o terminal aberto, siga os próximos passos:

Crie uma pasta para alocarmos nosso projeto

O nome vai da sua preferência. Neste caso, estamos criando uma pasta chamada "myapp".

mkdir myapp

Em seguida, iremos entrar na pasta para podermos executar nossos comandos.

cd myapp

Não é necessário utilizar o Vscode!

Caso queira continuar o passo a passo dentro do Vscode, utilize este comando para abrirmos o Vscode conectado a pasta criada (NÃO É OBRIGATÓRIO)

code .

Clone este repositório na sua pasta

Ao utilizarmos este comando, o repositório inteiro vai para a sua pasta criada.

git clone https://github.com/PedrooMota/Zeta-Seletiva-

Depois de clonado, acesse a pasta que foi criada para podermos realizar as instalações.

cd Zeta-Seletiva-Backend

Agora, você deverá executar o comando do docker-compose para instalarmos todas as dependências e criarmos as Images e Containers.

Não se esqueça de estar com o Docker Desktop aberto ( caso contrário, o comando irá dar erro )

docker-compose up -d

Depois de executado, você pode verificar o seu docker pois os Containers e as Images foram instaladas.


TypeORM

Com a utilização do TypeORM, conseguimos manipular objetos de Banco de Dados (DML, DDL), sem necessidade de termos que utilizar a estrutura padrão de linguagem SQL. No repositório, existe uma pasta chamada "migrations" onde está alocado toda a estrutura criada para esta aplicação. Ao executar os comandos na ordem abaixo, você entrará no Container "node" e vai rodar a migration já criada, inserindo no Banco de dados a estrutura que estava criada.

docker exec -ti node sh
npm run migration:run

Depois de executado, use o CTRL + D para sair do "Container" e retornar a sua pasta.

Pronto, o projeto já está na sua máquina e pronto para funcionar!


Usando o insomnia

Utilizaremos agora o Insomnia para realizarmos os testes da API.

  • Abra o insomnia
    • Clique em Create no canto superior direito
    • Clique na opção Design Document
    • Coloque o nome de sua preferência e confirma
    • Clique na opção Debug no meio superior da tela
    • Clique na setinha entre o nome e o Design
    • Vá ate import/export
    • Selecione import data e clique em from file
    • Escolha o arquivo .har que está na pasta do repositório
    • Clique em "Ok", pronto você importou tudo que e preciso para fazer as requisições para a API

As respectivas Rotas dentro do Insomnia

  • POST


  • POST

  • GET

  • PUT

  • DEL

Rotas para uso da API

  • Na API desenvolvida foram utilizados os seguintes métodos HTTP:

    • GET
    • POST
      • http://localhost:3000/user - realiza o cadastro do usuário (obrigátorio o envio de um JSON no body com as informações: nome, email e senha
      • http://localhost:3000/login - Realiza o login e faz a criação do token para utilizar nas rotas de update e delete (obrigátorio o envio de um JSON no body com o email e a senha do usuário)
    • PUT
      • http://localhost:3000/user/< id do Usuário > - realiza a alteração do usuário (obrigátorio o envio de um JSON no body com os campo que deseja alterar e o bearer token de autenticação no header)
    • DEL
  • Como colocar o Bearer Token:

    • Vá na aba do lado direito de Multipart e procure o "Bearer token". Nas rotas PUT e DEL você vai inserir o seu token no campo "Token" para ser validado a rota. O token do usuário será gerado quando ele realizar o Login ( sempre bom guardar o token ).

✅ A API está pronta para ser usada!

Autor


Pedro Henrique Mota

About

Foi desenvolvido uma aplicação hospedada em um servidor responsável em executar a lógica de negócios e por cadastrar usuários no banco de dados, assegurando as devidas restrições de acesso, segurança e performance da aplicação, utilizando API REST e Login JWT.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published