Este é um api Front-end para ser integrado junto à api Back-end e gerar uma solução voltada para o gerenciamento de um Petshop, por meio de um sistema de gestão que tem o objetivo de oferecer recursos específicos para facilitar e tornar a rotina do negócio mais eficiente.
O programa SoulPet possui os seguintes recursos e funcionalidades para a gestão do negócio:
-
Cadastro e controle de clientes: com informações pertinentes ao cliente, tais como: nome, endereço, telefone e e-mail.
-
Cadastro e controle de pets: com informações pertinentes ao pet, tais como: nome, tipo de animal, porte, data de nascimento, identificação do dono e foto.
-
Cadastro e controle de produtos: com informações pertinentes ao produto, tais como: nome, preço, descrição, desconto, data de desconto e categoria, sendo que, está predefinida em higiene, brinquedos e conforto.
-
Inserção e controle de pedidos: com informações pertinentes ao pedido, tais como: cliente, produto e quantidade solicitados.
-
Cadastro e controrle de serviços: permite o registro de serviços realizados pelo petshop.
-
Inserção e controle de agendamentos: possui uma seção para registrar agendamentos com informações pertinentes ao serviço solicitado para o pet, data agendada e status.
Antes de começar, será preciso ter instalado em sua máquina e/ou configurado as seguintes ferramentas:
- Tecnologias e Ambiente de Desenvolvimento
- Banco de Dados
Demais tecnologias/bibliotecas/frameworks utilizados no projeto (sugestão de documentação)
# Clone este repositório
$ git clone https://github.com/gabdiniz/soulpet-front
# Acesse a pasta do projeto no terminal/cmd
$ cd nome_da_pasta_do_projeto
# Instale as dependências
$ npm install
# Execute a aplicação em modo de desenvolvimento
$ npm start
# O servidor inciará na porta:3000 - acesse <http://localhost:3000>
Essas são as rotas disponíveis, os recursos e os parâmetros necessários para realizar as operações:
- Clientes
-
Insere um novo cliente (POST): /clientes
Parâmetro Tipo Requisito nome string obrigatório email string obrigatório telefone string obrigatório endereço foreing_key obrigatório -
Lista todos os clientes (GET): /clientes
-
Lista um cliente específico (GET): /clientes/:id
Parâmetro Tipo Requisito id number obrigatório -
Atualiza os dados de um cliente específico (PUT): /clientes/:id
Parâmetro Tipo Requisito id number obrigatório -
Exclui um cliente específico (DELETE): /clientes/:id
Parâmetro Tipo Requisito id number obrigatório -
Lista o endereço de um cliente específico (GET): /clientes/:clienteId/endereco
Parâmetro Tipo Requisito clienteId number obrigatório -
Lista o endereço de um cliente específico (GET): /clientes/:clienteId/pets
Parâmetro Tipo Requisito clienteId number obrigatório
- Pets
-
Insere um novo pet (POST): /pets
Parâmetro Tipo Requisito nome string obrigatório tipo string obrigatório porte string obrigatório dataNasc dateonly não obrigatório imagemUrl string não obrigatório -
Lista todos os pets (GET): /pets
-
Lista um pet específico (GET): /pets/:id
Parâmetro Tipo Requisito id number obrigatório -
Atualiza os dados de um pet específico (PUT): /pets/:id
Parâmetro Tipo Requisito id number obrigatório -
Exclui um pet específico (DELETE): /pets/:id
Parâmetro Tipo Requisito id number obrigatório
- Produtos
-
Insere um novo produto (POST): /produtos
Parâmetro Tipo Requisito nome string obrigatório preco string obrigatório descricao string obrigatório desconto double obrigatório dataDesconto dateonly obrigatório categoria string obrigatório -
Lista todos os produtos (GET): /produtos
-
Lista um produto específico (GET): /produtos/:id
Parâmetro Tipo Requisito id number obrigatório -
Atualiza os dados de um produto específico (PUT): /produtos/:id
Parâmetro Tipo Requisito id number obrigatório -
Exclui um produto específico (DELETE): /produtos/:id
Parâmetro Tipo Requisito id number obrigatório -
Exclui todos os produtos (DELETE): /produtos/all
Parâmetro Tipo Requisito all string obrigatório
- Pedidos
-
Insere um novo pedido (POST): /pedidos
Parâmetro Tipo Requisito codigo uuid obrigatório quantidade integer obrigatório -
Lista todos os pedidos (GET): /pedidos
-
Lista um pedido específico (GET): /pedidos/:id
Parâmetro Tipo Requisito id number obrigatório -
Lista todos os pedidos correspondentes ao id do produto (GET): /pedidos/produtos/:id
Parâmetro Tipo Requisito id number obrigatório -
Lista todos os pedidos correspondentes ao id do cliente (GET): /pedidos/clientes/:id
Parâmetro Tipo Requisito id number obrigatório -
Atualiza os dados de um pedido específico (PUT): /pedidos/:id
Parâmetro Tipo Requisito id number obrigatório -
Exclui um pedido específico (DELETE): /pedidos/:id
Parâmetro Tipo Requisito id number obrigatório -
Exclui todos os pedidos correspondentes ao id do cliente (DELETE): /pedidos/clientes/:id
Parâmetro Tipo Requisito id number obrigatório -
Exclui todos os pedidos correspondentes ao id do produto (DELETE): /pedidos/produtos/:id
Parâmetro Tipo Requisito id number obrigatório
- Serviços
-
Insere um novo serviço (POST): /servicos
Parâmetro Tipo Requisito nome string obrigatório preco double obrigatório -
Lista todos os serviços (GET): /servicos
-
Lista um serviço específico (GET): /servicos/:id
Parâmetro Tipo Requisito id number obrigatório -
Atualiza os dados de um serviço específico (PUT): /serviços/:id
Parâmetro Tipo Requisito id number obrigatório -
Exclui um serviço específico (DELETE): /serviços/:id
Parâmetro Tipo Requisito id number obrigatório -
Exclui todos os serviços (DELETE): /servicos/all
Parâmetro Tipo Requisito all string obrigatório
- Agendamentos
-
Insere um novo agendamento (POST): /agendamentos
Parâmetro Tipo Requisito petId number obrigatório servicoId number obrigatório dataAgendada dateonly obrigatório realizada boolean obrigatório -
Lista todos os agendamentos (GET): /agendamentos
-
Lista um agendamento específico (GET): /agendamentos/:id
Parâmetro Tipo Requisito id number obrigatório -
Atualiza os dados de um agendamento específico (PUT): /agendamentos/:id
Parâmetro Tipo Requisito id number obrigatório -
Exclui um agendamento específico (DELETE): /agendamentos/:id
Parâmetro Tipo Requisito id number obrigatório -
Exclui todos os agendamentos (DELETE): /agendamentos/all
Parâmetro Tipo Requisito all string obrigatório
Gabriel Diniz |
Jonatas Vieira |
Lucas Damaso |
Mikael Meira |
Tamires Rovere |
Sandra Silva |
---|
Esta aplicação utiliza a Licença MIT, o que significa que você pode usá-la, copiá-la, modificar e distribuir o código desta 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.