gdlopes / linkapi-challenge

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Teste LinkApi

🚀 Requisitos do teste

  • Criar contas testes nas plataformas Pipedrive e Bling.

  • Criar uma integração entre as plataformas Pipedrive e Bling. (A integração deve buscar as oportunidades com status igual a ganho no Pipedrive, depois inseri-las como pedido no Bling).

  • Criar banco de dados mongo, existem serviços como MongoDB Atlas para criar de graça

  • Criar uma collection no banco de dados MongoDB agregando as oportunidades inseridas no Bling por dia e valor total.

  • Criar endpoint para trazer os dados consolidados da collection do MongoDB.

🚀 Aplicação rodando

gif-linkapi

📜 Documentação

Tecnologias utilizadas

Estrutura de pastas

src                      # Onde fica todo código da aplicação
├── config               # Configurações do banco e serviços externos
├── controllers          # Onde fica o único controller da aplicação
├── models               # Onde ficam os models do mongoose
├── providers            # Arquivos que se conectam com serviços externos
├── repositories         # Camada de abstração da persistência no banco
├── services             # Funções importantes compartilhadas com toda api
├─ app.js                # Classe inicial da aplicação
├─ routes.js             # Arquivo com as rotas
├─ server.js             # Arquivo que inicia o servidor da aplicação

Instruções para rodar a API

# Clonando o repositório
$ git clone https://github.com/gdlopes/linkapi-challenge.git

# Navegando para a pasta do projeto
$ cd linkapi-challenge

# Instalando as dependências
$ yarn

# Rodando a aplicação
$ yarn start

Sobre as rotas criadas

POST http://localhost:3000/orders - rota que vai buscar oportunidades (leads) com status "won" no PipeDrive e cria os pedidos no Bling.

GET http://localhost:3000/orders - rota que busca os pedidos que estão registrados no banco e foram criados com sucesso no bling.

Rodando API localmente

Primeiro é necessário criar um arquivo na raiz do projeto com o nome .env e deixá-lo neste formato. Em seguida preencha com as informações com as contas do PipeDrive e Bling que dejesa utilizar.

Por fim, utilize as rotas citadas acima com seus devidos métodos HTTP para ver tudo fundionando, pode utilizar o postman ou qualquer aplicativo equivalente.

Caso tenha o Insomnia instalado, pode importar o projeto através deste botão que deixei pronto com as rotas da aplicação 👇

Run in Insomnia}

Thats it ! ☕


by Gustavo Lopes 🎉

About


Languages

Language:JavaScript 100.0%