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
⠀⠀⠀⠀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"
}
🧭 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"
}
🧪 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
- ***- ***
🏆 Créditos
Maycon Coutinho |
Hello |
---|