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.
✔️ 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.
- 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.
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.
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
O nome vai da sua preferência. Neste caso, estamos criando uma pasta chamada "myapp".
mkdir myappcd myappCaso 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 .
git clone https://github.com/PedrooMota/Zeta-Seletiva-
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.
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
Pronto, o projeto já está na sua máquina e pronto para funcionar!
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
POST
POST
GET
PUT
DEL
-
Na API desenvolvida foram utilizados os seguintes métodos HTTP:
GET- http://localhost:3000/profile - exibe todos os usuários cadastrados
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,emailesenha - http://localhost:3000/login - Realiza o login e faz a criação do token para utilizar nas rotas de
updateedelete(obrigátorio o envio de um JSON no body com oemaile asenhado usuário)
- http://localhost:3000/user - realiza o cadastro do usuário (obrigátorio o envio de um JSON no body com as informações:
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- http://localhost:3000/user/< id do Usuário > : faz a exclusão (obrigátorio o envio do bearer token de autenticação no header)
-
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 ).
Pedro Henrique Mota |
|---|