Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/camilotk/goliath_bank
Banking API in Phoenix
https://github.com/camilotk/goliath_bank
Last synced: 10 days ago
JSON representation
Banking API in Phoenix
- Host: GitHub
- URL: https://github.com/camilotk/goliath_bank
- Owner: Camilotk
- Created: 2023-10-24T06:56:37.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-10-27T18:17:15.000Z (about 1 year ago)
- Last Synced: 2024-10-28T21:15:15.150Z (about 2 months ago)
- Language: Elixir
- Size: 91.8 KB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Goliath National Bank
![](https://i.imgur.com/upxSyjW.png)
Você já se perguntou como é trabalhar em um dos maiores bancos do mundo? Como é ter acesso a oportunidades incríveis de negócios, viagens, festas e mulheres? Como é ser um vencedor em todos os sentidos? Então você precisa conhecer o Goliath National Bank!
No Goliath National Bank, nós não somos apenas um banco, nós somos uma potência global. Nós financiamos projetos de bilhões de dólares, como a nova sede do banco em Manhattan, um arranha-céu de 70 andares que vai mudar o skyline da cidade. Nós temos parcerias com as maiores empresas e governos do mundo, como a Microsoft, a Apple, a China e a Suécia. Nós somos responsáveis por movimentar trilhões de dólares todos os dias, com segurança, rapidez e eficiência.
Mas o que realmente faz o Goliath National Bank ser o melhor banco do mundo são as pessoas que trabalham aqui. Pessoas como eu, que são inteligentes, talentosas, carismáticas e bonitas. Pessoas que sabem como se divertir e aproveitar a vida. Pessoas que não se contentam com o medíocre, mas que buscam sempre a excelência. Pessoas que seguem o meu lema: “When I get sad, I stop being sad and be awesome instead”.
Então, se você quer fazer parte dessa equipe vencedora, se você quer ter uma carreira de sucesso e uma vida de aventuras, se você quer ser um GNBer, como nós chamamos os nossos funcionários, não perca tempo e envie o seu currículo hoje mesmo para o Goliath National Bank. E prepare-se para entrar em um mundo onde tudo é possível. Um mundo onde você vai dizer: “Legen… wait for it… dary!”Goliath National Bank (membro FDIC)
## Testando a API
A API recebeu deploy em: [https://goliathnationalbank.fly.dev/api/](https://goliathnationalbank.fly.dev/api/)
## Endpoints Abertos
### Criar um Usuário
**Verbo HTTP**: POST
**URL**: `localhost:4000/api/users`
**Descrição**: Cria um usuário.
```json
{
"first_name": "Barney",
"last_name": "Stinson",
"password": "legendary",
"cpf": "10284420093"
}
```### Login
**Verbo HTTP**: POST
**URL**: `localhost:4000/api/users/login`
**Descrição**: Loga o um usuário, retorna o Token.
```json
{
"id": 8,
"password": "legendary"
}
```## Endpoints Protegidos
### Busca um Usuário
**Verbo HTTP**: GET
**URL**: `localhost:4000/api/users/9`
**Descrição**: Busca um usuário pelo ID.
### Edita um Usuário
**Verbo HTTP**: PUT
**URL**: `localhost:4000/api/users/8`
**Descrição**: Edita a informação do usuário especificado.
```json
{
"first_name": "Jim",
"last_name": "Nacho"
}
```### Deleta um Usuário
**Verbo HTTP**: DELETE
**URL**: `localhost:4000/api/users/8`
**Descrição**: Deleta um usuário pelo ID.
### Lista todos os Usuários
**Verbo HTTP**: GET
**URL**: `localhost:4000/api/users/`
**Description**: Recebe uma lista de todos os usuários cadastrados.
### Cria uma Conta
**Verbo HTTP**: POST
**URL**: `localhost:4000/api/accounts`
**Descrição**: Cria uma conta para o usuário passado com o saldo inicial passado.
```json
{
"user_id": 5,
"balance": 2894.12
}
```### Recebe o Saldo de uma Conta
**Verbo HTTP**: GET
**URL**: `localhost:4000/api/accounts/balance/2`
**Descrição**: Retorna o saldo de uma conta.
### Cria uma Transação entre Contas
**Verbo HTTP**: POST
**URL**: `localhost:4000/api/transactions`
**Descrição**: Create a transaction with the following JSON data in the request body:
```json
{
"sender_id": 2,
"receiver_id": 3,
"amount": 123.67
}
```### Lista Transações entre Datas
**Verbo HTTP**: GET
**URL**: `localhost:4000/api/transactions/2023-10-01/2023-10-31`
**Descrição**: Retorna todas as transações feitas entre a data inicial e a final.
## Rodando o Projeto Local
Clonar esse repositório, instalar o PostgreSQL e fazer as configurações de comunicação em `config/dev.exs` e então rodar:
```
$ mix do setup, phx.server
```
E então o servidor vai iniciar em [http://localhost:4000/api](http://localhost:4000/api) e então acessar algum dos endpoints como na doc passando as informações necessárias.Para rodar os testes:
```
$ mix test
```