Skip to content

rogerinn/mon_prospecteur

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logo


🚀 Tecnologias


🏭 Arquitetura


💾 Fluxo das branchs


🔧 Instalação e uso

Para rodar a aplicação, você precisa ter o Node, Docker, Docker-compose e Yarn instalados em sua máquina e seguir os passos abaixo:

  1. Abra um terminal e copie este repositório com o comando

    git clone https://github.com/rogerinn/mon_prospecteur.git

    ou use a opção de download.

  2. Entre na pasta com

    cd mon_prospecteur
  3. Rode a aplicação, docker irá instalar dependencias e configurações externas.

    docker-compose up --build -d

    Ou

    docker-compose up --build

    para manter interatividade no terminal.

  4. Acesse http://localhost:3000 no seu cliente http de preferência (Postman, Insomnia, etc).


☣️ Testes

Para rodar os testes, você precisa ter executar o passo anterior e depois seguir os passos abaixo.

  1. Testes unitários

    yarn test:unit
  2. Testes e integração

    yarn test:integration
  3. Cobertura de testes

    yarn test:ci

📑 API

Documentação de uso.

Controle de versão de API

A primeira parte do caminho URI especifica a versão da API que você deseja acessar no formato v{version_number}.

Por exemplo, a versão 1 da API (mais atual) pode ser acessada por meio de:

https://localhost/v1/

Solicitações HTTP

Todas as solicitações de API são feitas enviando uma solicitação HTTPS segura usando um dos seguintes métodos, dependendo da ação que está sendo realizada:

  • POST Crie um recurso
  • PUT Atualizar um recurso
  • GET Obtenha um recurso ou lista de recursos
  • DELETE Excluir um recurso

Para solicitações PUT e POST, o corpo de sua solicitação pode incluir uma carga útil JSON, e o URI solicitado pode incluir uma string de consulta especificando filtros ou comandos adicionais, todos descritos nas seções a seguir.

Códigos de resposta HTTP

Cada resposta será retornada com um dos seguintes códigos de status HTTP:

  • 200 OK O pedido foi bem sucedido
  • 400 Bad Request Houve um problema com a solicitação (segurança, malformado, validação de dados, etc.)
  • 401 Unauthorized As credenciais de API fornecidas são inválidas
  • 403 Forbidden As credenciais fornecidas não têm permissão para acessar o recurso solicitado
  • 404 Not found Foi feita uma tentativa de acessar um recurso que não existe na API
  • 500 Server Error Ocorreu um erro no servidor

Endpoints

SignUp

  • Method: POST Path: /v1/sign-up

    Request
    Content-Type:application/json,
    Accept:application/json,
    body: 
    {
      "email": "any@email.com",
      "password": "12345",
      "confirmationPassword": "12345"
    }

    - email: Obrigatório String Min: 10 Max: 50

    - password: Obrigatório String Min: 10 Max: 50

    - confirmationPassword: Obrigatório String Min: 10 Max: 50

    Response
    • 200
      statusCode: 200
      {
        "id": 1,
        "email": "any@email.com",
        "token": "any_token"
      }

      - id: Number

      - email: String

      - token: String

    • 400
      statusCode: 400
      {
       "name": "Missing param",
       "message": "Missing param: {field}"
      }

      - name: String

      - message: String

      - field: email, password ou confirmationPassword

SignIn

  • Method: POST Path: /v1/sign-in

    Request
    Content-Type:application/json,
    Accept:application/json,
    body: 
    {
      "email": "any@email.com",
      "password": "12345"
    }

    - email: Obrigatório String Min: 10 Max: 50

    - password: Obrigatório String Min: 10 Max: 50

    Response
    {
      "token": "any_token"
    }

    - token: String

Search

  • Method: GET Path: /v1/search

    Request
    Content-Type:application/json,
    Accept:application/json,
    params: 
    {
      "address": "any_address"
    }

    - address: Obrigatório String Min: 10 Max: 50

    Response
    {
      "data": [ { "address": "any_address" } ]
    }

    - data: Array


🏗️ Roadmap

Melhorias e features:

  • CD/CI: Teraform, Ansible and Azure cloud (Pipeline).
  • Front: Angular.
  • Banco de dados: Modelagem.
  • Documentação: Adicionar lista com tipos de erros. Ex: "Missing param".

📝 Licença

Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published