Esta é uma API desenvolvida em linguagem de programação Back-end, voltado para gerenciamento de um petshop. O objetivo é oferecer uma solução para simplificar a gestão de informações relacionadas aos pets e seus proprietários.
Nesta API você vai poder, de forma simplificada, adicionar, atualizar, deletar e listar clientes, pets, produtos e serviços.
Tecnologias utilizadas
Instalação
Clone este repositório: https://github.com/devruso/soulpet-back.git
Instale as dependências: npm install
Como executar
Inicie o servidor: npm start
Acesse a página em seu navegador em: http://localhost:3001
Funcionalidades
O programa SoulPet possui as seguintes funcionalidades:
Cadastro de pets: permite o cadastro de animais, incluindo informações como nome, tipo, porte, data de nascimento e identificação do proprietário (cliente).
Cadastro de clientes: permite o cadastro de clientes, incluindo informações como nome, endereço, telefone e e-mail.
Registro de serviços: permite o registro de serviços realizados no petshop, como banho, tosa, vacinação, entre outros.
Controle de produtos: possui um sistema de controle de estoque de produtos por categoria, como alimentação, medicamentos, higiene e brinquedos.
Registro de agendamento: possui uma seção de agendamentos para inserção de um serviço em específico, de acordo com o pet, data e status.
Controle de pedidos: há uma segmentação para controle de pedidos, que permite o cadastro de mesmo de acordo com quantidade, cliente e protudos solicitatos.
Lista de endpoints da API
Aqui estão as rotas disponíveis, os recursos e os parâmetros necessários para realizar as operações.
Clientes
Consulta todos os clientes
GET /clientes
Consulta um cliente específico
GET /clientes/:id
Parâmetro
Tipo
Descrição
id
number
Obrigatório
Gera relatório em pdf de todos os clientes
GET /relatorio
Insere um novo cliente
POST /clientes
Parâmetro
Tipo
Descrição
nome
string
Obrigatório
email
string
Obrigatório
telefone
string
Obrigatório
endereco
foreign_key
Obrigatório
Atualiza os dados de um cliente específico
PUT /clientes/:id
Parâmetro
Tipo
Descrição
id
number
Obrigatório
Remove um cliente
DELETE /clientes/:id
Parâmetro
Tipo
Descrição
id
number
Obrigatório
Pets
Consulta todos os pets
GET /pets
Consulta um pet específico
GET /pets/:id
Parâmetro
Tipo
Descrição
id
number
Obrigatório
Consulta todos os pets de um cliente
GET /clientes/:clienteId/pets
Parâmetro
Tipo
Descrição
clienteID
number
Obrigatório
Insere um novo pet
POST /pets
Parâmetro
Tipo
Descrição
nome
string
Obrigatório
tipo
string
Obrigatório
porte
string
Obrigatório
dataNasc
date-only
Obrigatório
Atualiza os dados de um pet específico
PUT /pets/:id
Parâmetro
Tipo
Descrição
id
number
Obrigatório
Remove um pet
DELETE /pets/:id
Parâmetro
Tipo
Descrição
id
number
Obrigatório
Produtos
Consulta todos os produtos
GET /produtos
Consulta um produto específico e contém o filtro de nome e categoria
GET /produtos/:id
Parâmetro
Tipo
Descrição
id
number
Obrigatório
Insere um novo produto
POST /produtos
Parâmetro
Tipo
Descrição
nome
string
Obrigatório
preco
string
Obrigatório
descricao
string
Obrigatório
desconto
string
Obrigatório
dataDesconto
dateOnly
Obrigatório
categoria
string
Obrigatório
Atualiza os dados de um produto específico
PUT /produtos/:id
Parâmetro
Tipo
Descrição
id
number
Obrigatório
Remove um produto
DELETE /produtos/:id
Parâmetro
Tipo
Descrição
id
number
Obrigatório
Pedidos
Consulta todos os pedidos
GET /pedidos
Consulta um pedido específico
GET /pedido/:id
Parâmetro
Tipo
Descrição
id
number
Obrigatório
Consulta todos os pedidos de acordo com id do produto
GET /pedidos/produtos/:id
Parâmetro
Tipo
Descrição
id
number
Obrigatório
Consulta todos os pedidos de acordo com id do cliente
GET /pedidos/clientes/:id
Parâmetro
Tipo
Descrição
id
number
Obrigatório
Insere um novo pedido
POST /pedidos
Parâmetro
Tipo
Descrição
codigo
string
Obrigatório
quantidade
integer
Obrigatório
Atualiza os dados de um pedido específico
PUT /pedido/:id
Parâmetro
Tipo
Descrição
id
number
Obrigatório
Remove um pedido
DELETE /pedido/:id
Parâmetro
Tipo
Descrição
id
number
Obrigatório
Agendamento
Consulta todos os agendamentos
GET /agendamentos
Consulta um agendamento específico
GET /agendamentos/:id
Parâmetro
Tipo
Descrição
id
number
Obrigatório
Insere um novo agendamento
POST /agendamentos
Parâmetro
Tipo
Descrição
petId
number
Obrigatório
servicoId
number
Obrigatório
dataAgendada
dateOnly
Obrigatório
realizada
text
Obrigatório
Atualiza os dados de um agendamento específico
PUT /agendamentos/:id
Parâmetro
Tipo
Descrição
id
number
Obrigatório
Remove um agendamento específico
DELETE /agendamentos/:id
Parâmetro
Tipo
Descrição
id
number
Obrigatório
Serviços
Consulta todos os serviços
GET /servicos
Consulta um serviço específico
GET /servico/:id
Parâmetro
Tipo
Descrição
id
number
Obrigatório
Insere um novo serviço
POST /servicos
Parâmetro
Tipo
Descrição
nome
string
Obrigatório
preco
string
Obrigatório
Atualiza os dados de um serviço específico
PUT /servico/:id
Parâmetro
Tipo
Descrição
id
number
Obrigatório
Remove um serviço
DELETE /servico/:id
Parâmetro
Tipo
Descrição
id
number
Obrigatório
Remove todos os serviços
DELETE /servicos/all
Como contribuir
Para contribuir com este projeto, siga estes passos:
Faça um fork deste repositório.
Crie uma nova branch: git checkout -b nome-da-sua-branch
Faça as alterações necessárias.
Faça um commit com as alterações: git commit -m "Descreva as alterações realizadas"
Faça um push para a branch: git push origin nome-da-sua-branch
Crie um pull request.
Autoria
JAMILSON PESTANA
JULIA LOPES DA SILVA GASCHO
SABRINA LOPES OLIVEIRA
EURICO OLIVEIRA SANTOS JUNIOR
CLAUDIO FILHO GONÇALVES MARTINS
STEPHANY CANUTO DA SILVA
Licença
Esta aplicação utiliza a Licença MIT, o que significa que você pode usá-la, copiá-la, modificar e distribuir o código esta aplicação, desde que seja mantida a atribuição de direitos autorais e a licença seja incluída em todas as cópias e modificações do código. Para obter mais informações sobre a Licença MIT, consulte o arquivo LICENSE.md na raiz deste repositório.