Este é um projeto de API desenvolvido como parte do desafio da NectarLabs para o controle de adoção de pets por uma ONG.
O PetModel API é uma aplicação Node.js utilizando o framework Express para criar uma API que gerencia informações sobre pets disponíveis para adoção. A API permite listar pets, obter detalhes específicos, cadastrar novos pets, marcar um pet como adotado e remover um pet do sistema. Além disso, incorpora autenticação via JSON Web Tokens (JWT) para proteger certas rotas e garantir a segurança do sistema.
Certifique-se de ter o Node.js e o MySQL instalados em seu sistema.
-
Clone o repositório:
git clone https://github.com/opZywl/PetModel-Backend.git
-
Navegue até o diretório do projeto:
cd PetModel-Backend
-
Instale as dependências:
npm install express dotenv mysql2 jsonwebtoken
-
Configure o banco de dados MySQL:
- Execute o script
petTable.sql
para criar a tabela. - Execute o script
insertPets.sql
para inserir dados iniciais.
- Execute o script
-
Crie um arquivo
.env
na raiz do projeto e adicione as seguintes variáveis:DB_HOST=localhost DB_USER=root DB_PASSWORD=sua-senha-do-banco DB_NAME=petmodelbd SECRET_KEY=sua-chave-secreta-jwt
-
Inicie o servidor:
npm start
-
Listar Pets:
GET /pets
Retorna a lista de todos os pets disponíveis para adoção. -
Detalhes do Pet:
GET /pets/:id
Retorna os detalhes de um pet específico com base no ID. -
Adotar Pet:
PUT /pets/adopt/:id
Atualiza o status do pet para indicar que foi adotado. -
Cadastrar Novo Pet:
POST /pets
Permite adicionar um novo pet à lista. -
Remover Pet:
DELETE /pets/:id
Remove um pet do sistema com base no ID. -
Autenticação:
POST /auth/login
Permite autenticar-se e obter um token JWT para acessar rotas protegidas.
Este projeto implementa práticas de segurança, incluindo autenticação com JWT, para proteger dados sensíveis e garantir a integridade da aplicação. Recomenda-se manter as chaves secretas e senhas em ambientes seguros e não compartilhá-las publicamente.
Este projeto foi desenvolvido como parte do Desafio da NectarLabs para o controle de adoção de pets por uma ONG.