Skip to content

🐶 Bem-vindo ao Petshop Administration Panel! Este projeto é de uma APi para um painel administrativo completo desenvolvido como parte de um teste técnico para uma empresa...

License

Notifications You must be signed in to change notification settings

MayconCoutinho/Api-PetShope

Repository files navigation

Logo

Api-PetShope

Api para gerenciamento de um PetShope
Nessa api é possível listar, visualizar, criar, editar, excluir animais de estimação de uma petshop.

-----------------------------------------------------

🧩 Introdução    |    🚀 Resultados   |    🧪 Dependências   |    💡 Possíveis Melhorias    |    🏆 Créditos       


🧩 Introdução

⠀⠀⠀⠀Bem-vindo ao Petshop Administration Panel! Este projeto é de uma APi para um painel administrativo completo desenvolvido como parte de um teste técnico para uma empresa. O objetivo principal é fornecer uma plataforma fácil de usar para visualizar, criar, editar e excluir animais de estimação em uma petshop.


🚀 Resultados

Todos os resultados foram alcançados com sucesso. De modo geral são esses os resultados de cada requisição.


🧭 Rota com funções do client


🎯 Pega todos os cliente e seus pets

GET

    
 http://localhost:3003/admin/clients
    
    RETORNA
  {
    "id": "256d8ed4-c82d-412e-bc06-4d68a5729656",
    "nome": "Maycon",
    "telefone": "28999287132",
    "pets": [
      {
        "id": "631775f3-8cff-4ea4-bc0a-a48787dc74ad",
        "nome": "Jon",
        "idade": 7,
        "tipo": "GATO",
        "raca": "Siamês",
        "donoId": "256d8ed4-c82d-412e-bc06-4d68a5729656"
      }
    ]
  },...
  }

🎯 Registra o cliente junto com o pet

POST

    
http://localhost:3003/admin/client/register
    
{
  "client": {
    "nome": "cebola",
    "telefone": "28999343577"
  },
  "pet": {
    "idade": 5,
    "nome": "cebolinha",
    "raca": "vira-lata",
    "tipo": "CACHORRO"
  }
}

🎯 Mudando qualquer dado disponivel do cliente

PATCH

    
 http://localhost:3003/admin/client/{IdClient}
    
{
  "telefone": "11999287132"
  
}

🎯 Deleta o usuario

DELETE

    http://localhost:3003/admin/client
    
{
    "id": "b7bbca37-1737-4409-aa26-32a8ef65a111"
}

📖 Volta ao Sumário


🧭 Rota com funçoes do pet


### 🎯  Mudando qualquer dado disponivel do pet

PATCH

    
PATCH http://localhost:3003/admin/client/{idClient}/pet/{idPet}
    
{
  "nome": "Tor"
}

🎯 Deleta o Pet de um cliente

DELETE

    
    http://localhost:3003/admin/pet  
    
{
    "idClient": "b7bbca37-1737-4409-aa26-32a8ef65a111",
    "idPet":  "e08ce6c2-f3d6-45c9-a0f2-b132bf26907c"
}

🧭 Rota para Cadastra o Adiministrador


🎯 Registra o Administrador

POST

    
http://localhost:3003/users/register
    
{
    "name": "teste",
    "email": "teste@gmail.com",
    "password": "123456"
}

🎯 Logar e pegar token

POST

    
http://localhost:3003/users/login
    
{
    "email": "teste@gmail.com",
    "password": "123456"
}

📖 Volta ao Sumário


🧪 Dependências

Requisitos para rotar o codigo...


📖 Instalação


Caso tenha Git basta da git clone, caso não tenha basta clicar em code e depois dowloand zip e seguir os proximos passos

git clone https://github.com/MayconCoutinho/Api-PetShope

Caso já tenha o Node em sua maquina basta instalar o projeto com npm i

    
npm i 
    

Caso queira rodar o projeto no front-end, vai precisar do login


OBS - Muito importante, caso não tenha um banco de dados PostgreSQL disponivel, não vai da para rodar o projeto, pois o projeto conecta diretamente com o banco de dados sendo assim crie um arquivo ".env" para por os dados do PostgreSQL.

    
DATABASE_URL="postgres://postgres:SENHA@localhost:5432/petShop?schema=public"

JWT_KEY = "minha-senha-segura"
JWT_EXPIRES_IN = "24h"

BCRYPT_SALT_ROUNDS = 12

configurando.2.mp4

Apos isso basta entra no projeto com o vscode, entra em scripts e apertar execultar o "dev"


📖 Dependencies

 "dependencies": {
    "@prisma/client": "^4.13.0",
    "@types/multer": "^1.4.7",
    "bcryptjs": "^2.4.3",
    "cors": "^2.8.5",
    "dotenv": "^16.0.3",
    "express": "^4.18.2",
    "firebase": "^9.22.0",
    "firebase-admin": "^11.8.0",
    "jsonwebtoken": "^9.0.0",
    "multer": "^1.4.5-lts.1",
    "supertest": "^6.3.3",
    "uuid": "^9.0.0"
    }

📖 devDependencies

"devDependencies": {
    "@commitlint/cli": "^17.6.3",
    "@commitlint/config-conventional": "^17.6.3",
    "@faker-js/faker": "^7.6.0",
    "@types/bcryptjs": "^2.4.2",
    "@types/cors": "^2.8.13",
    "@types/express": "^4.17.15",
    "@types/jsonwebtoken": "^9.0.0",
    "@types/node": "^18.11.18",
    "@types/supertest": "^2.0.12",
    "@types/uuid": "^9.0.0",
    "@typescript-eslint/eslint-plugin": "^5.59.2",
    "cz-conventional-changelog": "^3.3.0",
    "eslint": "^8.40.0",
    "eslint-config-prettier": "^8.8.0",
    "eslint-config-standard-with-typescript": "^34.0.1",
    "eslint-plugin-import": "^2.27.5",
    "eslint-plugin-n": "^15.7.0",
    "eslint-plugin-prettier": "^4.2.1",
    "eslint-plugin-promise": "^6.1.1",
    "husky": "^8.0.3",
    "prettier": "^2.8.8",
    "prisma": "^4.13.0",
    "ts-node-dev": "^2.0.0",
    "typescript": "^4.9.5",
    "vitest": "^0.31.0"
    }

💡 Possíveis Melhoras

Possíveis melhorias no código e no projeto, caso queira voltar e melhorá lo.


  • - Testa todo o código.
  • - Criar token de confirmação para cada requisição.
  • - No momento é possivel acessar api sem a confirmação de que realmente é o adiministrador, oque não é interessante
  • - Tem muitas funções em que dever ter validações melhores
  • - Expandir a api para gerar dados estatisticos
  • - Colocar fotos fakes de clientes
  • ***- ***

📖 Volta ao Sumário


🏆 Créditos



Maycon Coutinho
Hello 😃 Se você chegou até aqui, acredito que gostou do meu projeto, nesse caso temos algo em comum, sendo assim que tal conversamos um pouco? Meu chama no linkedin 😁

About

🐶 Bem-vindo ao Petshop Administration Panel! Este projeto é de uma APi para um painel administrativo completo desenvolvido como parte de um teste técnico para uma empresa...

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages