![Screenshot 2024-03-26 at 00 43 33](https://private-user-images.githubusercontent.com/112344339/316690389-558a1269-1936-4628-9763-ed57e05d1492.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjE4Mzk2NTcsIm5iZiI6MTcyMTgzOTM1NywicGF0aCI6Ii8xMTIzNDQzMzkvMzE2NjkwMzg5LTU1OGExMjY5LTE5MzYtNDYyOC05NzYzLWVkNTdlMDVkMTQ5Mi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI0JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyNFQxNjQyMzdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05YzE0N2E4YWEzM2Y0OTM0MWM0YzE4N2YzYzA1OGUzOTZlY2JmMzg3MDNlNjRmOTllMjU4NmNlMjNmOWJjZmQxJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.ADBFt1dVqKWAv5srpNbZeEzzvx8uTVjaptOmCMA79lo)
Este é um projeto do bootcamp que implementa um CRUD (Create, Read, Update, Delete) para uma API de Petshop. O projeto utiliza o banco de dados PostgreSQL hospedado no ElephantSQL e o logger Winston para registro de atividades.
Antes de começar, certifique-se de ter as seguintes dependências instaladas em sua máquina:
- Node.js
- npm (Node Package Manager)
- PostgreSQL
- Clone este repositório para sua máquina local:
git clone https://github.com/seu-usuario/nome-do-repositorio.git
- Na pasta do projeto, instale as dependências do Node.js executando o seguinte comando:
npm install
Antes de iniciar o servidor, é necessário configurar o banco de dados PostgreSQL. Certifique-se de criar um banco de dados e configurar as credenciais de acesso no arquivo config.js
.
Para iniciar o servidor, execute o seguinte comando:
npm start
O servidor estará em execução na porta especificada no arquivo config.js
.
A estrutura do projeto é organizada da seguinte maneira:
.
├── config.js
├── controllers
│ ├── animais.controller.js
│ └── proprietarios.controller.js
├── db
│ ├── db.js
│ └── index.js
├── repositories
│ ├── animalRepository.js
│ ├── db.js
│ └── proprietarioRepository.js
├── routes
│ ├── animalRoutes.js
│ └── proprietarioRoutes.js
├── services
│ ├── animalService.js
│ └── proprietarioService.js
├── index.js
└── package.json
config.js
: Contém as configurações do banco de dados.controllers/
: Contém os controladores para manipulação de dados relacionados a animais e proprietários.db/db.js
: Configuração e inicialização da conexão com o banco de dados.db/index.js
: Módulo de exportação do objeto de conexão com o banco de dados.repositories/
: Contém os repositórios para acesso aos dados no banco de dados.routes/
: Contém as definições de rotas da API relacionadas a animais e proprietários.services/
: Contém os serviços responsáveis pela lógica de negócios relacionada a animais e proprietários.index.js
: Arquivo principal que inicia o servidor.