![](/gusttavocaruso/yieldCheck_backend/raw/master/src/img/bombagun2_2.png)
API capaz de calcular o rendimento (quilômetros por litro) de Carros, Motos, ou afins a partir da interação simples do usuário informando quilometragem atual e litros abastecidos.
Hospedada na plataforma HEROKU. Pode ser acessada através DESTE LINK
O Banco de dados utilizado é o banco noSQL MongoDB e está hospedado no MongoCloud Atlas
Para acessar as rotas utilize um client como Insomnia, Postman ou similar.
Se atente para os endpoints que necessitam autenticação via Token JWT.
-
Crie uma conta na rota POST
/account/sign-up
; -
Faça login na rota POST
/account/sign-in
; -
Realize o primeiro registro na rota POST
/supply/first-setup
;Ex: Fui abastecer meu carro e no odômetro está marcando 23km rodados. Coloquei R$ 50,00 de gasolina (8,33 litros) portanto, o body deve receber:
{ odometerKM: 23 litersProvided: 8,33 }
A primeira interação não fornece retorno, apenas faz o registro dos valores.
-
Agora, utilize a rota PUT
/supply/:id
para os próximos registros futuros;Ex: Fui novamente abastecer meu carro. Agora o odômetro está marcando 98km rodados. Coloquei novamente R$ 50,00 de gasolina portanto:
{ odometerKM: 98, literProvided: 8,33 }
-
Essa interação retornará o rendimento em KM/L atual;
-
Através da rota GET
/supply/current-status
é possível consultar o histórico de registros de rendimento e a média desses registros;
Para testar as rotas você pode utilizar a API hospedada no Heroku ou clonar o projeto para sua maquina, instalar as dependencias via npm install
e rodar a API com o comando npm run dev
, assim ela ficará disponível na porta :3001
As rotas disponíveis são:
/account/sign-up - requisição HTTP POST
:
- Deve receber um JSON no formato
{
"name": "String",
"email": "[email protected]",
"password": "String"
}
- A rota deve retornar o usuário adicionado ao banco com seu respectivo _id, nome e email.
/account/sign-in - requisição HTTP POST
:
- Deve receber um JSON no formato:
{
"email": "[email protected]",
"password": "String"
}
- Essa rota deve retornar um Token JWT.
/supply/first-setup - requisição HTTP POST
:
- Deve receber um JSON no formato:
{
"odometerKM": 20,
"litersProvided": 10
}
- Essa rota demanda autenticação JWT para acesso.
- Essa rota retorna um
_id
referente a interação - será utilizado na rota PUT/supply/:id
;
/supply/:id - requisição HTTP PUT
:
- Deve receber um JSON no formato:
{
"odometerKM": 120,
"litersProvided": 10
}
- Essa rota demanda autenticação JWT para acesso.
- Campo :id deve conter o id referente a interação gerado na resposta de requisição POST
/supply/first-setup
/supply/current-status - requisição HTTP GET
:
- Essa rota retorna o rendimento atual (média e histórico) para usuário autenticado (logado).
- Retornará um json no formato:
{
"Usuário": "[email protected]",
"currentYield": {
"average": "9.4 KM/L",
"kmPerLStory": [
{
"kmPerL": 8,
"at": "01/01/2023"
},
{
"kmPerL": 10.8,
"at": "07/01/2023"
}
]
}
}
- Essa rota demanda autenticação JWT para acesso.