Aplicação que contém 3 endpoint, consumindo 2 endpoint de uma API REST externa.
Desenvolvi o projeto seguindo os princípios SOLID, que promovem a criação de código mais modular, flexível e de fácil manutenção, buscando separar responsabilidades e tornar o sistema mais escalável.
O projeto poderá ser acessado através do endereço http://localhost:3000/
- Crie uma pasta para o projeto no seu computador e navegue até ela no terminal
- Ainda no terminal, importe este projeto utilizando
git clone https://github.com/VictorlBueno/Api-Rest-Cars
- Navegue até o projeto clonado com
cd Api-Rest-Cars
- Instale as dependências do projeto com o comando
npm install
- Inicie o projeto com o comando
npm run dev
Endereço | Descrição |
---|---|
/api/listCars |
Retorna na api implementada os dados da API externa do getpoint (GET api/cars) |
/api/createCars |
Cria um registro na API externa (POST api/cars) usando a API implementada |
/api/logs |
Consulta todos os registros salvos na tabela log que contém os logs das chamadas efetuadas da api |
Para agilizar o desenvolvimento, empreguei o Nodemon, uma ferramenta que automatiza a atualização do servidor Node.js a cada alteração no código-fonte.
Optei por utilizar o Express, um framework leve que proporciona uma camada fina de recursos essenciais para o desenvolvimento de aplicações web. O Express complementa o Node.js, permitindo criar aplicativos web de forma eficiente, mantendo a transparência e o acesso às funcionalidades do Node.js em todo o processo de desenvolvimento.
Adotei o ESLint para aplicar padrões de formatação ao código JavaScript, incluindo regras para aspas e ponto e vírgula, garantindo uma base consistente. Essa ferramenta também é útil para identificar e corrigir problemas no código, aprimorando a qualidade e a legibilidade do projeto.
Utilizei o MongoDB com a biblioteca Mongoose para armazenar logs em uma abordagem NoSQL. Essa escolha proporcionou maior flexibilidade e escalabilidade na gestão dos registros. O MongoDB permitiu a estruturação dos dados em formato JSON-like, simplificando a interação com os dados no Node.js.
Para consumir uma API externa, optei por utilizar o axios, uma biblioteca JavaScript baseada em Promises, que simplifica as solicitações HTTP.