Skip to content

Latest commit

 

History

History
executable file
·
277 lines (245 loc) · 3.87 KB

README.md

File metadata and controls

executable file
·
277 lines (245 loc) · 3.87 KB

INSTRUÇÕES PARA RODAR O PROJETO

Clone o projeto

git clone [email protected]:Doginnn/band-graphql.git

Acesse o diretório clonado

cd band-graphql

Crie o Arquivo .env

cp .env.example .env

Atualize essas variáveis de ambiente no arquivo .env

APP_NAME="laravel"
APP_URL=http://localhost:8000

DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=nome_que_desejar_db
DB_USERNAME=nome_usuario
DB_PASSWORD=senha_aqui

Suba os containers do projeto

docker-compose up -d

Acesse o container

docker-compose exec app bash

Instale o GraphQL no projeto

composer require rebing/graphql-laravel

Publique o arquivo de configuração

php artisan vendor:publish --provider="Rebing\GraphQL\GraphQLServiceProvider"

Instale as dependências do projeto

composer install

Gere a key do projeto Laravel

php artisan key:generate

Gere a migração do banco no projeto Laravel

php artisan migrate

Acesse o projeto

http://localhost:8000

INSTRUÇÕES PARA POPULAR DADOS NO BANCO(Álbums, Músicas e Letras)

Foram criados Factories para popular o banco com Álbums, Músicas e Letras. Para popular o banco, basta rodar o comando correto.

Caso ainda não tenha rodado o "php artisan migrate"(Cria as tabelas e popula com os dados)

php artisan migrate --seed

Caso já tenha rodado o "php artisan migrate"(Apenas popula os dados)

php artisan db:seed

INSTRUÇÕES PARA TESTAR AS QUERIES E MUTATIONS(Albums, Musics e Lyrics)

Todas foram testadas pelo POSTMAN

QUERIES

(ALBUMS)

POST - ID ALBUM

query {
    album(id: 1) {
        id
        title
        release_date
    }
}

POST - ALL ALBUMS

query {
    albums {
        id
        title
        release_date
    }
}

(MUSICS)

POST - ID MUSIC

query {
    music(id: 1) {
        id
        title
        duration
        album_id
    }
}

POST - ALL MUSICS

query {
    musics {
        id
        title
        duration
        album_id
    }
}

(LYRICS)

POST - ID LYRIC

query {
    lyric(id: 1) {
        id
        content
        music_id
    }
}

POST - ALL LYRICS

query {
    lyrics {
        id
        content
        music_id
    }
}

MUTATIONS

(ALBUMS)

POST - CREATE ALBUM

mutation {
    createAlbum(
        title: "Teste de criação Album",
        release_date: "2024-02-26"
    ) {
        id
        title
        release_date
    }
}

POST - UPDATE ALBUM

mutation {
    updateAlbum(
        id: 1
        title: "Teste de modificação Album",
        release_date: "2024-02-26"
    ) {
        id
        title
        release_date
    }
}

POST - DESTROY ALBUM

mutation {
    destroyAlbum(
        id: 1
    )
}

(MUSICS)

POST - CREATE MUSIC

mutation {
    createMusic(
        title: "Teste de criação Música",
        duration: "2024-02-26",
        album_id: "1"
    ) {
        id
        title
        duration
        album_id
    }
}

POST - UPDATE MUSIC

mutation {
    updateMusic(
        id: 1
        title: "Teste de edição Música",
        duration: "33",
        album_id: "1"
    ) {
        id
        title
        duration
        album_id
    }
}

POST - DESTROY MUSIC

mutation {
    destroyMusic(
        id: 1
    )
}

(LYRICS)

POST - CREATE LYRIC

mutation {
    createLyric(
        content: "Teste de criação Letra",
        music_id: "1"
    ) {
        id
        content
        music_id
    }
}

POST - UPDATE LYRIC

mutation {
    updateLyric(
        id: 31
        content: "Teste de edição Letra",
        music_id: "1"
    ) {
        id
        content
        music_id
    }
}

POST - DESTROY LYRIC

mutation {
    destroyLyric(
        id: 1
    )
}