Giter Club home page Giter Club logo

api-users's Introduction

API de Usuários

API de usuários utilizando as seguintes tecnologias e extensões: NodeJS, PostgreSQL, Docker, Yarn, ESLint.

Sobre

Projeto realizado afim de demonstrar meus conhecimentos sobre a criação de API Restful utilizando Node.js e SQL.

Foi utilizado o UUID para os IDs no banco de dados em vez de numerais expostos.

Pré-requisitos

É necessário instalar ou possuir instalado o Node.js e para facilitar o Docker e Insomnia, porém ambos podem ser trocados por softwares de suas preferencias.

Obs: O uso do Docker pode ser subsituido pelo PostgreSQL direto (Informação colocada em forma de comentário no arquivo).

Como Usar

  • Para iniciar, realize o download do repositório ou clone o mesmo.

  • Caso não tenha, instale o Node.js versão LTS.

  • Após realize a instalação do yarn utilizando o comando npm install -g yarn

  • Caso não tenha instalado, instale o Docker e após instalado, abra o CMD e execute o seguinte comando para baixar e criar um container do PostgreSQL.

    • docker run -–name pg -e POSTGRES_USER=root -e POSTGRES_PASSWORD=root -p 5422:5432 -d postgres
  • Terminada a instalação digite o seguinte comando:

    • docker exec -it pg bash
  • Este comando irá entrar no terminal do PostgreSQL para que possamos executar os comandos SQL e criar o nosso banco de dados.

  • Execute o comando psql -U root para autenticação.

  • Realize os comandos SQL que estão no arquivo schema.sql dentro da pasta database do projeto.

    • OBS: Executar primeiro o comando da linha 1, depois seguir as informações que constam nos comentários do arquivo.
  • Abra o cmd na pasta do projeto utilizando o VSCode e execute o comando yarn dev para iniciar o servidor do projeto.

  • Com o servidor online é possível iniciar os testes de rotas e funcionamento da API.

  • Caso for utilizar o PostgreSQL diretamente em vez do Docker, é necessário alterar a porta de 5422 para 5432 no arquivo index.js dentro da pasta database

Testes

  • Para realizar os testes é recomendado o uso do Insomnia ou algum software semelhante.

  • Após realizar os passos de como usar, basta realizar o cadastro das seguintes rotas no Insomnia para testes:

      CREATE USER: Rota POST http://localhost:3000/users - Formato JSON
      		{
      			"first_name": "",
      			"last_name": "",
      			"email": "",
      			"phone": "",
      			"address": ""
      		}
      		
      LIST USERS: Rota GET http://localhost:3000/users - Formato NO BODY
      		Foi implementado a ordenação crescente e decrescente, 
      		por padrão ele sempre vem em formato crescente, 
      		caso queira mudar para decrescente utilizar ?orderBy=desc após o /users
      		
      GET USER: Rota GET http://localhost:3000/users/"Inserir o ID desejado" - Formato NO BODY	
      
      DELETE USER: Rota DELETE http://localhost:3000/users/"Inserir o ID desejado" - Formato NO BODY
      	
      UPDATE USER: Rota PUT http://localhost:3000/users/"Inserir o ID desejado" - Formato JSON
      		{
      			"first_name": "",
      			"last_name": "",
      			"email": "",
      			"phone": "",
      			"address": ""
      		}
    

Tecnologias

As seguintes tecnologias foram utilizadas nesse projeto:

Também foram utilizadas às seguintes extensões neste projeto:

api-users's People

Contributors

carlos-decastro avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.