O backend conta com um total de 17 Endpoints, onde 9 são destinados ao controle de álbuns, 7 ao de faixas e 1 é usado especialmente para popular o banco.
/api/albuns
(GET): Permite listar todos os álbuns já cadastrados e seus atributos;/api/albuns/simplify
(GET): Permite listar todos os álbuns já cadastrados de forma simplificada;/api/albuns/{id}
(GET): Exibe os dados de um álbum especificado pelo{id}
;/api/albuns
(POST): Permite cadastrar um novo Álbum;/api/albuns/{id}
(PUT): Permite editar um álbum identificado pelo{id}
;/api/albuns/{id}
(DELETE): Remove o álbum especificado pelo{id}
;/api/albuns/{id}/faixas
(GET): Exibe as faixas de um álbum especificado pelo{id}
;/api/albuns/{album_id}/faixa/{faixa_id}
(POST): Atribui a faixa ao álbum, especificados pelos indicadores{album_id}
e{faixa_id}
;/api/albuns/{album_id}/faixa/{faixa_id}
(DELETE): Desvinlcula a faixa do álbum, especificados pelos indicadores{album_id}
e{faixa_id}
.
/api/faixas
(GET): Lista todas as faixas já cadastradas;/api/faixas/simplify
(GET): Permite listar todas as faixas já cadastradas de forma simplificada;/api/faixas/{id}
(GET): Exibe os dados de uma faixa especificada pelo{id}
;/api/faixas
(POST): Cadastra uma nova faixa especificada pelo{id}
;/api/faixas/{id}
(PUT): Permite editar uma faixa identificada pelo{id}
;/api/faixas/{id}
(DELETE): Remove a faixa especificada pelo{id}
;/api/faixas/{id}/albuns
(GET): Exibe os álbuns em que a faixa especificada pelo{id}
está inclusa;
-
/api/carregarDoSpotify
(GET): Esse endpoint faz uma consulta recursiva à API do spotify e cadastra automaticamente Álbuns e Faixas de determinado artista. O único atributo obrigatório é otoken
os demais são por padrão os necessários para o nosso caso.token
Deve conter seu token da API do Spotify ( Obrigatório );limit
Total de Álbuns a serem cadastrados (Máx.: 50);offset
Posição no banco do spotify onde deseja iniciar a consulta;artist
Id do artista no Spotify;
Exemplo:
http://API_URL/api/carregarDoSpotify?token=SEU_TOKEN_SPOTIFY&limit=30
No backend a validação é feita pelo próprio Laravel tanto durante o cadastro quanto a atualização, retornando um erro 422
e descrevendo a inconformidade.
nome
: Required|String|Unique|Max:100;ano
: Required|Integer|Digits:4;imagem
: String;spotify_link
: String.
nome
: Required|String|Unique|Max:100;duracao
: Required|Integer; ( Salva em ms)spotify_link
: String.albuns
: Required|Array.
A relação entre Álbuns e Faixas é de m:m, entretanto para criar uma faixa deve obrigatoriamente colocá-la num Álbum já existente.
Instalar o Postgres 13 ou superior.
Criar o banco de dados no Postgres:
CREATE DATABASE nome_do_banco
Após instalar o php 8.2 ou superior. No arquivo php.ini
descomente as seguintes linhas:
extension=pdo_pgsql
extension=zip
Baixar e instalar o composer ( Lembre-se de apontar para o path correto do php )
Rode composer install
na pasta do projeto para Instalar todas as dependências
Renomeio o arquivo .env.example
para .env
Na linha APP_LOCALE=en
mude para APP_LOCALE=pt_BR
Ainda no arquivo .env
, no bloco DB_CONNECTION
insira as informações corretas do seu banco de dados.
DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=nome_do_banco_dedados
DB_USERNAME=nome_do_usuario_do_banco_de_dados
DB_PASSWORD=senha_do_banco_de_dados
php artisan migrate
php artisan serve