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:
-
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.
-
Entre na pasta com
cd mon_prospecteur
-
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.
-
Acesse
http://localhost:3000
no seu cliente http de preferência (Postman, Insomnia, etc).
Para rodar os testes, você precisa ter executar o passo anterior e depois seguir os passos abaixo.
-
Testes unitários
yarn test:unit
-
Testes e integração
yarn test:integration
-
Cobertura de testes
yarn test:ci
Documentação de uso.
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/
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 recursoPUT
Atualizar um recursoGET
Obtenha um recurso ou lista de recursosDELETE
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.
Cada resposta será retornada com um dos seguintes códigos de status HTTP:
200
OK
O pedido foi bem sucedido400
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álidas403
Forbidden
As credenciais fornecidas não têm permissão para acessar o recurso solicitado404
Not found
Foi feita uma tentativa de acessar um recurso que não existe na API500
Server Error
Ocorreu um erro no servidor
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
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".
Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.