projeto de um webservice em FastApi
Criado em Python e junto ao framework FastApi e utilizando o banco de dados MongoDB
Segue a lista de pacotes utilizados no projeto.
Package | Version |
---|---|
FastApi | 0.109.2 |
Uvicorn | 0.27.1 |
Pydantic | 2.6.1 |
Httpx | 0.26.0 |
Pymongo | 4.6.1 |
Redis | 5.0.3 |
O produto criado foi feito como desafio proposto pela empresa Hurb. A ideia é poder fazer conversões de moedas, como também poder criar novas, deletar, atualizar e fazer conversões com moedas já utilizadas.
Utilizamos o dolar como moeda de lastro
, logo novas moedas deveram especificar o seu valor em relação ao dolar em sua criação.
- Chamamos o endpoint
/api/v1/currency
com os seguintes query-parameters
{
"from": "USD", // Dessa moeda
"to": "BRA", // coverta pra essa moeda
"amount":100 // Esse valor
}
- Passar os seguintes valores no body do endpoint:
[POST]/api/v1/currency/{acronym-desejado}
{
"acronym": "string",
"name": "string",
"dolar_price_reference": 5
// valor com referencia ao dolar, como explicado acima.
}
- Passar os seguintes valores no body do endpoint:
[PUT] /api/v1/currency/{acronym-desejado}
{
"acronym": "new-value",
"updated_at": "29/05/2024, 17:10:21",
"name": "new-currency",
"dolar_price_reference": 5
// valor com referencia ao dolar, como explicado acima.
}
- chamar o endpoint:
[DELETE] /api/v1/currency/{acronym-desejado}
- Com seu ambiente python, instale a lista de pacotes.
pip install -r requeriments-dev.txt
- Após ter instalado as bibliotecas necessarias utilize do comando:
docker compose up
-
Com isso o projeto já estará funcionando.
-
(Optional) Caso não queira subir com docker compose é possivel utilizar o comando:
uvicorn app.main:app
Isso fará com que o banco de dados utilizado não seja instanciado mas possibilitando o funcionamento do projeto.