Este projeto Back-end é uma API RESTful desenvolvida com Node.js e Express. A API permite o cadastro de donos e pets, autenticação de usuários, login e operações CRUD em um banco de dados MySQL para um pet shop.
- Node.js
- Express
- MySQL - Banco de dados
- Docker Compose
- JWT (JSON Web Token) - para autenticação e autorizar o acesso do usuário a rotas específicas.
- Mocha, Chai e Sinon - para testes.
- Eslint - para linting do código.
- Postman - para documentação da API
- Swagger - para documentação da API.
Clone o repositório do projeto do GitHub:
git clone https://github.com/DAYANE1130/project_pet_shop
Após clonar o repositório, navegue até o diretório do projeto e instale as dependências necessárias:
cd project-pet-shop
npm install
Entre na pasta 'backend' e configure o arquivo .env
com as informações do seu banco de dados MySQL. Aqui está um exemplo de configuração:
PORT=3000
MYSQL_HOST=localhost
MYSQL_USER=seuUsuario
MYSQL_PASSWORD= suaSenha
JWT_SECRET=seuSegredo
Em seguida, inicie o servidor backend :
npm run dev
Para acessar as rotas protegidas da API (como as rotas 'post' de donos e pets), você precisará incluir o token JWT em suas solicitações. Adicione um cabeçalho com "Authorization" como a chave e "Bearer {token}" como o valor, onde {token}
é o token que você recebeu da rota de login.
- POST /user: Cadastro de usuário do sistema.
- POST /login: Caso o login seja realizado com sucesso será gerado um token JWT para o usuário cadastrado.
- GET /donos: Listar todos os donos cadastrados.
- GET /dono/:id: Detalhar um dono.
- POST /dono: Adicionar um dono. (exige token)
- PATCH /dono/:id: Editar um dono.
- DELETE /dono/:id: Excluir um dono.
- GET /pets: Listar todos os pets cadastrados.
- GET /pet/:id: Detalhar um pet.
- POST /pet: Criar um pet.(exige token)
- PATCH /pet/:id: Editar um pet.
- DELETE /pet/:id: Excluir um pet.
A documentação da API atualizada esá disponível no endereço: https://documenter.getpostman.com/view/31041446/2sA3BgAFcz