Skip to content

API do metallica com rotas para os Membros da Banda, Albuns e Músicas

Notifications You must be signed in to change notification settings

Filipe-Bacof/metallica-api

Repository files navigation

API gratuita para fãs de Metallica e desenvolvedores

Metallica Logo

Metallica Band

fonte da imagem

Dedicatória e Agradecimentos

  • Sou um grande fã do Metallica desde criança, há mais de duas décadas ouvindo o som magnífico desses caras.
  • Dedico esta API a todos os fãs que apreciam a música, a missão e o trabalho dessas estrelas do rock 🤘
  • Dedico também este pequeno trabalho de programação em homenagem ao grande Cliff Burton, um dos maiores baixistas que já existiu na terra, que nos deixou após um acidente em 27 de setembro de 1986. Descanse em paz!

Apoie o Projeto

  • Caso tiver condições de apoiar o projeto pode fazer um PIX para a chave abaixo:
filipebacof@gmail.com

Sugestões e Parcerias

  • Sinta-se a vontade para entrar em contato comigo por email filipebacof@gmail.com ou entrar em contato comigo pelo LinkedIn neste link

Não acabou por aqui

  • Esse projeto será atualizado eventualmente e algumas coisas já serão implementadas em breve, tais como
  • Seeder para inicialização do banco de dados.
  • Paginação de resultados de alguns endpoints.
  • Fotos dos membros da banda.
  • Endpoints para realizar operações CRUD, obviamente com autenticação.
  • Links para iframes (incorporar).

Sobre o deploy

  • Atualmente o deploy está feito na Render e o único servidor gratuito deles é nos Estados Unidos, dessa forma pode ocorrer um pequeno delay na primeira requisição, você pode testar o endpoint / que deve retornar Let's Rock! 🤘😎🔥.
  • URL Base para consumo da API: https://metallica-api.onrender.com
  • Clique aqui para testar.

Documentação dos endpoints

Criando um banco local com todos os dados de produção

  • Você pode instalar o PostgreSQL localmente e popular ele com o script de seed que eu criei.
  • Para isso primeiro você precisa criar um banco de dados local ou na nuvem, posso recomendar criar através da Vercel ou do ElephantSQL, ambos possuem planos gratuitos.
  • Após isso crie um aquivo chamado .env aqui na pasta raiz do projeto e coloque a sua string de conexão com o seu banco de dados, vai ficar algo parecido com isso:
DATABASE_URL="postgres://user:password@host:port/dbname?sslmode=require&connection_limit=30&pool_timeout=60"

# user: Seu nome de usuário do banco de dados.
# password: Sua senha do banco de dados.
# host: O endereço do servidor do banco de dados.
# port: A porta do servidor do banco de dados.
# dbname: O nome do seu banco de dados.
  • Ao final da string de conexão, adicione os seguintes parâmetros para otimizar a performance e evitar bloqueios de requisições: connection_limit=30 e pool_timeout=60 igual no exemplo, separanto os parâmetros pelo caractere &.
  • Com o banco de dados configurado e a string de conexão definida, você pode rodar npx prisma generate para aplicar as migrações.
  • Com isso feito você já pode executar o script de seed para popular o banco com os dados de produção com o comando npx prisma db seed
  • Vale ressaltar que eu deixei no topo do arquivo de seed algumas constantes que mostram logs após as inserções, fique a vontade para modificar os valores para true e visualizar no seu terminal as inserções.

Tipagens para o Front-End

  • Caso você opte por realizar o frontend usando algum framework com typescript, eu criei o arquivo Frontend.interface.ts que possui todas as interfaces necessárias já exportadas para você usar na sua aplicação.

About

API do metallica com rotas para os Membros da Banda, Albuns e Músicas

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published