Rocketpay é uma API criada utilizando Elixir e Phoenix durante a NLW#4 da Rocketseat. Esse projeto permite a transação de valores entre 2 usuários.
Esse End-Point permite o deposito de um determinado valor na conta do usuário.
-
URL
/accounts/:userId/deposit
-
Method:
POST
-
URL Params
-
Required:
:userId
-> ID do usuário que será feito o deposito.Basic Auth
-> Informe o nome de usuário "henrique" e senha "123456" como autenticação básica
-
-
JSON Example:
{ "value": "100.50" }
-
Success Response:
-
Code: 200
Content:{ "account": { "balance": "100.50", "id": "a44e81ee-7852-49d0-85b1-e3fa5775e3a7" }, "message": "Ballance changed successfully" }
-
Esse End-Point permite o saque de um determinado valor na conta do usuário.
-
URL
/accounts/:userId/withdraw
-
Method:
POST
-
URL Params
-
Required:
:userId
-> ID do usuário que será feito o deposito.Basic Auth
-> Informe o nome de usuário "henrique" e senha "123456" como autenticação básica
-
-
JSON Example:
{ "value": "50.50" }
-
Success Response:
-
Code: 200
Content:{ "account": { "balance": "50", "id": "a44e81ee-7852-49d0-85b1-e3fa5775e3a7" }, "message": "Ballance changed successfully" }
-
Esse End-Point permite a transferência entre dois usuários.
-
URL
/accounts/transaction
-
Method:
POST
-
URL Params
-
Required:
Basic Auth
-> Informe o nome de usuário "henrique" e senha "123456" como autenticação básica
-
-
JSON Example:
{ "value": "39.60", "from": "a44e81ee-7852-49d0-85b1-e3fa5775e3a7", "to": "98981aca-7c3c-4f1d-8520-1cbf0445dd11" }
-
Success Response:
-
Code: 200
Content:{ "message": "Transaction done successfully", "transaction": { "from_account": { "balance": "120.80", "id": "a44e81ee-7852-49d0-85b1-e3fa5775e3a7" }, "to_account": { "balance": "368.80", "id": "98981aca-7c3c-4f1d-8520-1cbf0445dd11" } } }
-
Esse End-Point permit a criação de um usuário
-
URL
/users
-
Method:
POST
-
JSON Example:
{ "name": "Henrique", "nickname": "henrique", "email": "henrique@gmail.com", "age": 24, "password": "123456" }
-
Success Response:
-
Code: 200
Content:{ "message": "User created", "user": { "account": { "balance": "0.00", "id": "a44e81ee-7852-49d0-85b1-e3fa5775e3a7" }, "id": "d88ffdf0-0cf7-4a32-ac18-7ac00b8eaaaf", "name": "Henrique", "nickname": "henrique" } }
-
Este projeto foi feito utilizando as seguintes tecnologias:
Passo 1:
# Clone o Repositório
$ git@github.com:tavareshenrique/rocketpay-nlw.git
Passo 2:
# É necessário que você tenha o banco Postgres rodando em sua máquina, seja Docker ou não.
Passo 3:
# Crie dois bancos com os seguintes nomes:
rocketpay_dev
# e
rocketpay_test
Passo 4:
# Configure seu usuário, senha etc. do banco nos arquivos:
config > dev.exs
# e
config > test.exs
Passo 5:
# Rode esse comando para ele criar/registrar o banco de dados
$ mix ecto.create
Passo 5:
# Rodando as Migrations
$ mix ecto.migrate
Passo 5:
# Pronto! Agora é só executar o Server;
$ mix phx.server
Acesse http://localhost:3000 para ver o resultado.
Henrique Tavares @tavareshenrique 💻 |
Rocketseat @Rocketseat 🚀 |
Este projeto está sob a licença MIT.