Skip to content

LariMoro20/AccountsAPI

Repository files navigation

API GraphQl DE CONTAS BANCARIAS

Aplicação GraphQl desenvolvida em Laravel v8.9.0

Instalação

Comandos iniciais (executar via terminal no diretório do projeto)

  • Clonar o projeto para seu computador
    git clone https://github.com/LariMoro20/AccountsAPI
  • Abrir pasta do projeto
    cd AccountsAPI
  • Executar na pasta do projeto
composer install
php artisan key:generate
php artisan migrate
php artisan serve

Como começar

  • Crie uma base de dados e altere as informações no arquivo .env localizado na raiz do projeto

Exemplo:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1   // IP/URL do banco (localhost)
DB_PORT=3306        // Porta
DB_DATABASE=appapi  // Nome do banco
DB_USERNAME=root    // Usuário
DB_PASSWORD=root    // Senha
  • Para popular a base de dados com as informações teste: (executar via terminal no diretório do projeto)
    ATENÇÃO: Esse comando deleta todos os dados e tabelas e refaz o banco com as informações contidas no arquivo database/seeds/AccountTableSeeder.php

    php artisan migrate:fresh --seed

  • Para instalar o plugin GraphQl
    composer require rebing/graphql-laravel
    E após execute:
    php artisan vendor:publish --provider="Rebing\GraphQL\GraphQLServiceProvider"

Testando a aplicação

Para testar a aplicação, foi utilizada a ferramenta GraphiQL que pode ser baixada aqui:
https://www.electronjs.org/apps/graphiql

Após fazer download, execute a aplicação e informe a seguinte URL:

http://localhost:8000/graphql

Para verificar se está funcionando corretamente, no campo a esquerda do programa, informe a seguinte consulta:

{
    accounts{
        name,
        code,
        balance,
    }
}

Retorno esperado:
(Todas as contas do banco)
{
  "data": {
    "accounts": [
      {
        "name": "Fulana",
        "code": "123456",
        "balance": "3723.3"
      },
      {
        "name": "Ciclana",
        "code": "654321",
        "balance": "596.4"
      }
    ]
  }
}

Para fazer as operações de saque e deposito, precisa ser informada a conta e o valor desejado:

Exemplo

- sacar(conta: 123456, valor:120 )
- depositar(conta: 123456, valor:120 )

Exemplo de saque

{
    sacar(conta: 123456, valor:120 ){
        name,
        code,
        balance,
        status
    }
}

Retorno esperado:

{
  "data": {
    "sacar": {
      "name": "Fulana",
      "code": "123456",
      "balance": "3603.3",
      "status": "SUCESSO, saque realizado com sucesso!"
    }
  }
}

Para visualizar o saldo, é necessario informar o número da conta desejada

Exemplo

{
    saldo(conta: 123456 ){
        name,
        code,
        balance,
        status
    }
}

Retorno esperado:
{
  "data": {
    "saldo": {
      "name": "Fulana",
      "code": "123456",
      "balance": "3603.3",
      "status": "SUCESSO, conta encontrada."
    }
  }
}

Made by Lari Moro

About

GraphQl API em Laravel de simulação bancária

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published