Skip to content

ivancarlosantos/backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Desafio: API para Controle de Pets de uma ONG

@ivan_santos Desafio

API para gerenciar cadastro de animais/pets (CRUD) que faz parte do desafio para desenvolvedores, que se candidatam para a NectarLabs.

Tecnologias

Práticas adotadas

  • API REST
  • Consultas com express Data
  • Injeção de Dependências
  • Tratamento de respostas de erro

Como Executar

  • Clonar repositório git
$ git clone https://github.com/ivancarlosantos/backend.git
  • Construir o projeto:

Caso desejar usar container Docker para persistência, na raíz do projeto, executar:

$ docker-compose up -d

Com a base de dados ativa, inicializar o projeto

  • Baixar dependências:
$ npm install
  • Executar a aplicação:
$ npm start

Caso haja problema de conexão com o Banco de Dados no Docker, realize o seguinte procedimento:

  • Abra um terminal e execute os comando abaixo:
$ docker exec -it pets_db /bin/bash
  • execute o comando para entrar no mysql
$ mysql -uroot -p
  • Coloque a senha password
enter password: password

Abrirá o terminal do mysql

mysql>

Agora execute os comando abaixo

mysql> ALTER USER 'root' IDENTIFIED WITH mysql_native_password BY 'password';
  • Atualize os privilégios de usuário
mysql> flush privileges;
  • Selecione a base de dados
mysql> use pets_db;

Crie a tabela para persistência

mysql> CREATE TABLE pets(
id integer primary key auto_increment,
nome varchar(255) not null,
idade integer not null,
especie varchar(255) not null,
raca varchar (30) not null,
adotado varchar(3) not null,
data_adocao date);

API Endpoints

A API poderá ser acessada em http://localhost:5000.

Para fazer as requisições HTTP abaixo, foi utilizada a ferramenta Postman:

  • Cadastrar um Pet
$ http POST :5000/pets nome="nome" idade=1 especie="especie" raca="raça" adotado="sim/nao" data_adocao="1999-01-31"

[
  {
    "id": 1,
    "nome": "nome",
    "idade": 1,
    "especie": "especie",
    "raca": "raça",
    "adotado": "sim/nao",
    "data_adocao": "1999-01-31",
  }
]
  • Listar Pets cadastrados
$ http GET :5000/pets

[
  {
    "id": 1,
    "nome": "nome",
    "idade": 1,
    "especie": "especie",
    "raca": "raça",
    "adotado": "sim/nao",
    "data_adocao": "1999-01-31",
  }
]
  • Listar Pets adotados e não adotados
$ http GET :5000/pets/adopt/{sim/nao}

[
  {
    "id": 1,
    "nome": "nome",
    "idade": 1,
    "especie": "especie",
    "raca": "raça",
    "adotado": "sim/nao",
    "data_adocao": "1999-01-31",
  }
]
  • Atualizar Pet
$ http PUT 5000:pets/adopt/1 nome="nome" idade=1 especie="especie" raca="raça" adotado="sim/nao" data_adocao="1999-01-31"

[
  {
    "id": 1,
    "nome": "nome",
    "idade": 1,
    "especie": "especie",
    "raca": "raça",
    "adotado": "sim/nao",
    "data_adocao": "1999-01-31",
  }
]
  • Remover Pet
http DELETE :5000/pets/1
[ ]

About

backend desafio nectar labs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors