Aplicação GraphQl desenvolvida em Laravel v8.9.0
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
- 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 arquivodatabase/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"
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:
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