Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ar3secchim/buy-foreign-currency
Um projeto de consumo de uma API externa para compra de moedas estrangeiras envolve a criação de um sistema que permite aos usuários realizar ordens de compra de moedas estrangeiras de forma conveniente e eficiente.
https://github.com/ar3secchim/buy-foreign-currency
api-rest backend moeda
Last synced: 28 days ago
JSON representation
Um projeto de consumo de uma API externa para compra de moedas estrangeiras envolve a criação de um sistema que permite aos usuários realizar ordens de compra de moedas estrangeiras de forma conveniente e eficiente.
- Host: GitHub
- URL: https://github.com/ar3secchim/buy-foreign-currency
- Owner: Ar3secchim
- Created: 2023-10-17T10:15:53.000Z (about 1 year ago)
- Default Branch: dev
- Last Pushed: 2024-01-13T10:44:19.000Z (12 months ago)
- Last Synced: 2024-01-29T21:41:16.534Z (11 months ago)
- Topics: api-rest, backend, moeda
- Language: Java
- Homepage:
- Size: 141 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# buy-foreign-currency
Este projeto Java tem o objetivo de permitir que os usuários realizem ordens de compra de moedas estrangeiras de forma eficiente e conveniente, consumindo a API externa https://docs.awesomeapi.com.br/api-de-moedas para obter as taxas de câmbio. O sistema será composto por um back-end Java que lida com a lógica de negócios, integração com a API externa e armazenamento de dados.## Funcionalidades
- 🪙 Consumir a Api externa https://economia.awesomeapi.com.br/USD-BRL
- 🔒 Cadastro, leitura, atualização e exclusão usuários.
- 🚀 Realização de order de compra de moeda.
- 📦 Cálculo do valor total com base na quantidade desejada e na taxa de câmbio
atual.
- 🪙 Seleção da moeda estrangeira desejada (USD ou EUR).## Pré-requisitos
Antes de iniciar, certifique-se de ter as seguintes dependências instaladas:- Java Development Kit (JDK) - Versão 17 ou superior.
- Maven## Configuração
Clone o repositório:```bash
git clone https://github.com/Ar3secchim/buy-foreign-currencycd buy-foreign-currency
```## 1. Create (Criar)
O CRUD começa com a operação de criação, que envolve registro de novos.
Para criar uma ordem precisa está registrado.Exemplo de Criação (Create) - Criando um usuário:
### POST createUSer
``http://localhost:8080/user``
#### Request Body
```json
{
"nome": "nameUser",
"cpf": "12345678965",
"dataDeNascimento": 1997,
"estadoCivil": "casado",
"sexo": "F",
"senha": "********"
}
```#### Response body
```json
{
"id": 1,
"nome": "nameUser",
"cpf": "12345678965"
}
```### POST createOrder
Precisa de um usuário criado assim poderá criar uma order``http://localhost:8081/order``
#### Body resquest para moeda "USD" (dolár)
```json
{
"cpfUser":"12345678985",
"typeCurrency": "USD",
"valueForeignCurrency": 3500
}
```#### Response
```json
{
"id": 1,
"idUser": 1,
"cpfUser": "12345678985",
"requestDate": "2023-10-28T09:31:54.1988733",
"typeCurrency": "USD",
"valueForeignCurrency": "3,500.00",
"quotationValue": "5.02",
"valueTotalOperation": "17,552.50",
"withdrawalAgencyNumber": "4448"
}
```#### Body resquest para moeda "EUR" (euro)
```json
{
"cpfUser":"12345678985",
"typeCurrency": "USD",
"valueForeignCurrency": 3500,
"withdrawalAgencyNumber":"5555"
}
```#### Response
```json
{
"id": 2,
"idUser": 1,
"cpfUser": "02083631226",
"requestDate": "2023-10-28T09:33:28.9075152",
"typeCurrency": "EUR",
"valueForeignCurrency": "3,500.00",
"quotationValue": "5.29",
"valueTotalOperation": "18,530.75",
"withdrawalAgencyNumber": "5555"
}
```## Tecnologias Utilizadas
- 💻 Linguagem de Programação: Java 17
- 💻 Framework: Spring Boot
- 💻 Banco de dados: H2 Dialect## Maiores Desafios
- Fazer requisição para uma API externa
- Manipular dados de uma resposta de requisição para API externa
- Aplicação de design SOLID