SoulPet - Projeto DevOps 3 - Front-End
- Ana Schwaab - Github, LinkedIn
- Bruna Faria de Souza - Github, LinkedIn
- Danilo Araújo de Oliveira - Github, LinkedIn
- Luis Guedes - Github, LinkedIn
- Nilson Mazurchi - Github, LinkedIn
- SoulPet Front-end
- Integrandes do projeto
- O que é o SoulPet API
- O que consigo fazer com o SoulPet API?
- Tecnologias usadas
- Melhorias em desenvolvimento
- Para rodar o projeto
- Funcionalidades da API
- Agradecimentos Especiais
É uma API para você utilizar para gerenciar seu Petshop, e o Soul, vem de SoulCode Academy.
É possível editar os modelos existentes de tabelas para melhor atender suas necessidades, porém já temos alguns modelos prontos como os de:
- gerenciar clientes.
- gerenciar pets.
- gerenciar pedido.
- gerenciar pets.
- gerenciar produtos.
- gerenciar servicos.
Um projeto feito com uso de Node.Js
, Express
, Sequelize
, MySQL2
, Morgan
, DotEnv
, Cors
, Helmet
, compression
, Nodemon
.
Nenhuma melhoria prevista por enquanto.
-
É necessário que tenha o MySQL Workbench, git e o Node.Js instalados.
-
É necessário fazer o clone do repositório para sua máquina
git clone https://github.com/oliverdn95/soulpet-back.git
- Instalar as dependências do projeto:
- dentro da pasta raiz do projeto executar o comando:
npm install
- Criar uma copia do arquivo
.env.example
- Alterar o nome da cópia para
.env
- no campo
DB_PASSWORD
colocar a mesma senha que foi criada pro MySQL Workbench.
-
Temos os seguinte caminho basta acessar agendamentos
http:localhost:3001/agendamentos
para as rotas:-
Apenas devolve lista de todos os agendamentos adicionados, não necessita passar nenhum dado pelo corpo da requisição.
-
Adiciona um novo item no banco de dados para agendamentos, necessita dos seguintes dados no corpo da requisição:
- dataAgendada - do tipo Data no modelo YYYY-MM-DD, ex:
"2000-01-01"
. - realizada - do tipo Booleano, ex:
true
. - petId - do tipo Inteiro, ex:
1
. - servicoId - do tipo Inteiro, ex:
1
.
- dataAgendada - do tipo Data no modelo YYYY-MM-DD, ex:
Para o seguinte caminho basta acessar agendamentos
http:localhost:3001/agendamentos/:id
para acessar as rotas que utilizam o próprio:id
da consulta:-
Devolve apenas o agendamento com o id que foi encaminhado pela rota, ex:
http:localhost:3001/agendamentos/1
iria devolver só o agendamento de id 1. -
Edita os dados do agendamento do id informado, ex:
http:localhost:3001/agendamentos/1
atualiza os dados do agendamento de id 1, necessita de passar os seguintes dados no corpo da requisição:- dataAgendada - do tipo Data no modelo YYYY-MM-DD, ex:
"2000-01-01"
. - realizada - do tipo Booleano, ex:
true
. - petId - do tipo Inteiro, ex:
1
. - servicoId - do tipo Inteiro, ex:
1
.
- dataAgendada - do tipo Data no modelo YYYY-MM-DD, ex:
-
Deleta do banco os dados relacionados ao id do agendamento, ex:
http:localhost:3001/agendamentos/1
.
Para o seguinte caminho basta acessar agendamentos
http:localhost:3001/agendamentos/all
para a rota:-
Deleta todos os agendamentos do banco de dados.
PS: Cuidado para não ser promovido a cliente.
-
-
Temos os seguinte caminho basta acessar clientes
http:localhost:3001/clientes
para as rotas:-
Apenas devolve lista de todos os clientes adicionados, não necessita passar nenhum dado pelo corpo da requisição.
-
Adiciona um novo item no banco de dados para clientes, necessita dos seguintes dados no corpo da requisição:
- nome - do tipo String, ex:
"Danilo"
. - email - do tipo String, e ele é único, ex:
"exemplo@exemplo.exe"
. - telefone - do tipo String, ex:
"(99)99999-9999"
. - endereco - é um Objeto que contém os seguintes dados:
- uf - do tipo String, com limite de 2 caractéres, ex:
"SP"
. - cidade - do tipo String, ex:
"São Paulo"
. - cep - do tipo String, com limite de 9 caractéres, ex:
"00000-000"
. - rua - do tipo String, ex:
"Avenida Brasil"
. - numero - do tipo String, ex:
"3-33"
.
- uf - do tipo String, com limite de 2 caractéres, ex:
- nome - do tipo String, ex:
Para o seguinte caminho basta acessar clientes
http:localhost:3001/clientes/:id
para acessar as rotas que utilizam o próprio:id
da consulta:-
Devolve apenas o cliente com o id que foi encaminhado pela rota, ex:
http:localhost:3001/clientes/1
iria devolver só o cliente de id 1. -
Edita os dados do cliente do id informado, ex:
http:localhost:3001/clientes/1
atualiza os dados do cliente de id 1, necessita de passar os seguintes dados no corpo da requisição:- dataAgendada - do tipo Data no modelo YYYY-MM-DD, ex:
"2000-01-01"
. - realizada - do tipo Booleano, ex:
true
. - petId - do tipo Inteiro, ex:
1
. - servicoId - do tipo Inteiro, ex:
1
.
- dataAgendada - do tipo Data no modelo YYYY-MM-DD, ex:
-
Deleta do banco os dados relacionados ao id do cliente, também deleta o endereço do cliente já que o endereço pertence ao cliente, ex:
http:localhost:3001/clientes/1
.
Para o seguinte caminho basta acessar clientes
http:localhost:3001/clientes/:id/pets
para acessar as rotas que utilizam o próprio:id
da consulta:-
Devolve todos os pets do tutor com o id que foi encaminhado pela rota, ex:
http:localhost:3001/clientes/1/pets
iria devolver todos os pets do cliente de id 1.
-
-
Temos os seguinte caminho basta acessar pedidos
http:localhost:3001/pedidos
para as rotas:-
Apenas devolve lista de todos os pedidos adicionados, não necessita passar nenhum dado pelo corpo da requisição.
-
Adiciona um novo item no banco de dados para pedidos, necessita dos seguintes dados no corpo da requisição:
Para o seguinte caminho basta acessar pedidos
http:localhost:3001/pedidos/:codigo
para acessar as rotas que utilizam o próprio:id
da consulta:-
Devolve apenas o pedido com o id que foi encaminhado pela rota, ex:
http:localhost:3001/pedidos/1
iria devolver só o pedido de id 1. -
Edita os dados do pedido do id informado, ex:
http:localhost:3001/pedidos/1
atualiza os dados do pedido de id 1, necessita de passar os seguintes dados no corpo da requisição: -
Deleta do banco os dados relacionados ao id do pedido, ex:
http:localhost:3001/pedidos/1
.
Para o seguinte caminho basta acessar pedidos
http:localhost:3001/pedidos/clientes/:id
para a rota:-
Mostra todos os pedidos do cliente que informar o
:id
do banco de dados. -
Deleta todos os pedidos do cliente que informar o
:id
do banco de dados.PS: Cuidado para não ser promovido a cliente.
Para o seguinte caminho basta acessar pedidos
http:localhost:3001/pedidos/produtos/:id
para a rota:-
Mostra todos que contém os pedidos do produto que informar o
:id
do banco de dados. -
Deleta todos que contém os pedidos do produto que informar o
:id
do banco de dados.PS: Cuidado para não ser promovido a cliente.
-
-
Temos os seguinte caminho basta acessar pets
http:localhost:3001/pets
para as rotas:-
Apenas devolve lista de todos os pets adicionados, não necessita passar nenhum dado pelo corpo da requisição.
-
Adiciona um novo item no banco de dados para pets, necessita dos seguintes dados no corpo da requisição:
- nome - do tipo String, de no máximo 130 caractéres, ex:
"Malu"
. - tipo - do tipo String, de no máximo 100 caractéres, ex:
"Cachorro"
. - porte - do tipo String, de no máximo 100 caractéres, ex:
"Pequeno"
. - dataNasc - do tipo Data no modelo YYYY-MM-DD, ex:
"2000-01-01"
. - clienteId - do tipo Inteiro, ex:
1
.
- nome - do tipo String, de no máximo 130 caractéres, ex:
Para o seguinte caminho basta acessar pets
http:localhost:3001/pets/:id
para acessar as rotas que utilizam o próprio:id
da consulta:-
Devolve apenas o pet com o id que foi encaminhado pela rota, ex:
http:localhost:3001/pets/1
iria devolver só o pet de id 1. -
Edita os dados do pet do id informado, ex:
http:localhost:3001/pets/1
atualiza os dados do pet de id 1, necessita de passar os seguintes dados no corpo da requisição:- nome - do tipo String, de no máximo 130 caractéres, ex:
"Malu"
. - tipo - do tipo String, de no máximo 100 caractéres, ex:
"Cachorro"
. - porte - do tipo String, de no máximo 100 caractéres, ex:
"Pequeno"
. - dataNasc - do tipo Data no modelo YYYY-MM-DD, ex:
"2000-01-01"
. - clienteId - do tipo Inteiro, ex:
1
.
- nome - do tipo String, de no máximo 130 caractéres, ex:
-
Deleta do banco os dados relacionados ao id do pet, ex:
http:localhost:3001/pets/1
.
-
-
Temos os seguinte caminho basta acessar produtos
http:localhost:3001/produtos
para as rotas:-
Apenas devolve lista de todos os produtos adicionados, não necessita passar nenhum dado pelo corpo da requisição.
-
Adiciona um novo item no banco de dados para produtos, necessita dos seguintes dados no corpo da requisição:
- nome - do tipo String, ex:
"Osso de Brinquedo"
. - descricao - do tipo String, de no máximo 150 caractéres, ex:
"Osso de brinquedo para cachorros"
. - preco - do tipo Float, ex:
10.50
. - desconto - do tipo Float, ex:
15
. - dataNasc - do tipo DataOnly no modelo YYYY-MM-DD, ex:
"2000-01-01"
. - categoria - do tipo String, aceita os que estão cadastrados no modelo ["Higiene", "Brinquedos", "Conforto", "Alimentacao", "Medicamentos"], ex:
"Higiene"
.
- nome - do tipo String, ex:
Para o seguinte caminho basta acessar produtos
http:localhost:3001/produtos/:id
para acessar as rotas que utilizam o próprio:id
da consulta:-
Devolve apenas o produto com o id que foi encaminhado pela rota, ex:
http:localhost:3001/produtos/1
iria devolver só o produto de id 1. -
Edita os dados do produto do id informado, ex:
http:localhost:3001/produtos/1
atualiza os dados do produto de id 1, necessita de passar os seguintes dados no corpo da requisição:- nome - do tipo String, ex:
"Osso de Brinquedo"
. - descricao - do tipo String, de no máximo 150 caractéres, ex:
"Osso de brinquedo para cachorros"
. - preco - do tipo Float, ex:
10.50
. - desconto - do tipo Float, ex:
15
. - dataNasc - do tipo DataOnly no modelo YYYY-MM-DD, ex:
"2000-01-01"
. - categoria - do tipo String, aceita os que estão cadastrados no modelo ["Higiene", "Brinquedos", "Conforto", "Alimentacao", "Medicamentos"], ex:
"Higiene"
.
- nome - do tipo String, ex:
-
Deleta do banco os dados relacionados ao id do produto, ex:
http:localhost:3001/produtos/1
.
Para o seguinte caminho basta acessar produtos
http:localhost:3001/produtos/all
para a rota:-
Deleta todos os produtos do banco de dados.
PS: Cuidado para não ser promovido a cliente.
-
-
Temos os seguinte caminho basta acessar pets
http:localhost:3001/pets
para as rotas:-
Apenas devolve lista de todos os pets adicionados, não necessita passar nenhum dado pelo corpo da requisição.
-
Adiciona um novo item no banco de dados para pets, necessita dos seguintes dados no corpo da requisição:
- nome - do tipo String, de no máximo 130 caractéres, ex:
"Malu"
. - tipo - do tipo String, de no máximo 100 caractéres, ex:
"Cachorro"
. - porte - do tipo String, de no máximo 100 caractéres, ex:
"Pequeno"
. - dataNasc - do tipo Data no modelo YYYY-MM-DD, ex:
"2000-01-01"
. - clienteId - do tipo Inteiro, ex:
1
.
- nome - do tipo String, de no máximo 130 caractéres, ex:
Para o seguinte caminho basta acessar pets
http:localhost:3001/pets/:id
para acessar as rotas que utilizam o próprio:id
da consulta:-
Devolve apenas o pet com o id que foi encaminhado pela rota, ex:
http:localhost:3001/pets/1
iria devolver só o pet de id 1. -
Edita os dados do pet do id informado, ex:
http:localhost:3001/pets/1
atualiza os dados do pet de id 1, necessita de passar os seguintes dados no corpo da requisição:- nome - do tipo String, de no máximo 130 caractéres, ex:
"Malu"
. - tipo - do tipo String, de no máximo 100 caractéres, ex:
"Cachorro"
. - porte - do tipo String, de no máximo 100 caractéres, ex:
"Pequeno"
. - dataNasc - do tipo Data no modelo YYYY-MM-DD, ex:
"2000-01-01"
. - clienteId - do tipo Inteiro, ex:
1
.
- nome - do tipo String, de no máximo 130 caractéres, ex:
-
Deleta do banco os dados relacionados ao id do pet, ex:
http:localhost:3001/pets/1
.
-
-
Temos os seguinte caminho basta acessar servicos
http:localhost:3001/servicos
para as rotas:-
Apenas devolve lista de todos os servicos adicionados, não necessita passar nenhum dado pelo corpo da requisição.
-
Adiciona um novo item no banco de dados para servicos, necessita dos seguintes dados no corpo da requisição:
- nome - do tipo String, ex:
"Banho"
. - preco - do tipo Float, ex:
25
.
- nome - do tipo String, ex:
Para o seguinte caminho basta acessar servicos
http:localhost:3001/servicos/:id
para acessar as rotas que utilizam o próprio:id
da consulta:-
Devolve apenas o servico com o id que foi encaminhado pela rota, ex:
http:localhost:3001/servicos/1
iria devolver só o servico de id 1. -
Edita os dados do servico do id informado, ex:
http:localhost:3001/servicos/1
atualiza os dados do servico de id 1, necessita de passar os seguintes dados no corpo da requisição:- nome - do tipo String, ex:
"Banho"
. - preco - do tipo Float, ex:
25
.
- nome - do tipo String, ex:
-
Deleta do banco os dados relacionados ao id do servico, ex:
http:localhost:3001/servicos/1
.
Para o seguinte caminho basta acessar servicos
http:localhost:3001/servicos/all
para a rota:-
Deleta todos os servicos do banco de dados.
PS: Cuidado para não ser promovido a cliente.
-
Agradecimento especial para os Professores: