Skip to content

viniciuscosmome/beer-api

Repository files navigation

Beer API 🍺

version license Tool Tool Tool Database Database aux Aux Aux Aux Aux Aux Aux

A Beer API é uma API que permite buscar cervejas na Punk API, uma API pública. Para usar a Beer API, é necessário se cadastrar e informar alguns dados de acesso, como nome, sobrenome, e-mail, senha e data de nascimento.

A Beer API oferece duas opções de busca: básica e detalhada. A busca básica permite buscar uma cerveja aleatória, ou usando o ID. A busca detalhada permite buscar uma ou mais cervejas por diversos critérios, como data de fabricação, ABV, IBU, EBC, etc.

Funcionalidades

  • Criar conta
  • Acessar conta
    • Atualiza a sessão
  • Recuperar conta
    • Pedir redefinição
    • Definir nova senha
  • Controle de acesso as rotas protegidas
  • Busca por cervejas aleatórias
  • Busca por cervejas pelo ID
  • Busca por cervejas com filtros avançados
    • Páginação
    • Itens por página
    • ABV (maior que, menor que)
    • IBU (maior que, menor que)
    • EBC (maior que, menor que)
    • Nome da cerveja
    • Levedura (yeast)
    • Fábricação (anteriror à, posterior à)
    • Amargor (hops)
    • Malte (malt)
    • Comidas que combinam (food)
    • IDs

Sumário: Caminhos

  1. Autenticação
  2. Recuperar acesso
  3. Buscar cervejas

Sumário: Instalação e execução

  1. Requisitos
  2. Fork e Clone
  3. Configuração do ambiente
  4. Baixando as dependências
  5. Migrações da base de dados
  6. Executando a API em desenvolvimento
  7. Executando a API em produção
  8. Outros comandos

Caminhos

Autenticação

Caminho Método Descrição
/auth/sign-up POST Cria conta
/auth/sign-in POST Acessa conta
/auth/refresh POST Atualiza chaves de sessão

Recuperar acesso

Caminho Método Descrição
/auth/forgot-password POST Pedir chave para definir nova senha
/auth/set-password PUT Definir nova senha

Buscar cervejas

Caminho Método Descrição
/beers GET Usar filtros mais avançados
/beers/{filter} GET Usa filtro simples para buscar uma cerveja

Note

Você pode encontrar mais detalhes sobre as rotas e seus parêmetros ao executar a Beer API

Instalação e execução

Requisitos

  • Node.js v18.17.1
    Esta versão do node ou uma mais recente.
  • Mailtrap
    Um serviço que permita testar o envio de e-mails SMTP.

Fork e Clone

Faça um fork deste repositório e depois um clone desse fork em uma pasta no seu computador.

Comando para clonar um repositório

# git clone <url-do-fork-do-repositorio>
git clone https://github.com/viniciuscosmome/beer-api.git

Configuração do ambiente

Antes de executar a API você deve realizar algumas configurações

  1. Variáveis de ambiente:
    Crie um arquivo na raiz do repositório chamado .env. Além da tabela abaixo, você encontrará um arquivo já criado chamado example.env, está na raiz do projeto e pode ser usado como base.
Variável Tipo Descrição
PORT number Porta em que o servidor será acessado
NODE_ENV string Ambiente em que a aplicação está sendo executada
PASSWORD_SALT number Salta que será usado no hash da senha
SECRET_SESS string Segredo que será usado para gerar os token
MAIL_FROM string E-mail que identifica a aplicação
MAIL_HOST string Host disponibilizado pelo seu serviço de e-mail
MAIL_PORT number Porta disponibilizado pelo seu serviço de e-mail
MAIL_USER string Usuário disponibilizado pelo seu serviço de e-mail
MAIL_PASS string Senha disponibilizado pelo seu serviço de e-mail

Baixando as dependências

Use o comando abaixo para instalar todas as dependências do projeto

yarn install

Migrações da base de dados

Use o seguinte comado para executar as migrações da base de dados

yarn prisma:mig:dev
# ou
npx prisma migrate dev

Execute a seed da base de dados para criar campos necessários para a aplicação

yarn prisma:seed
# ou
npx prisma db seed

Executado a API em desenvolvimento

O comando abaixo inicia o servidor no ambiente de desenvolvimento

yarn start

O comando abaixo inicia o servidor no ambiente de desenvolvimento, ele reinicia assim que detecta uma mudança em algum arquivo

yarn start:dev

Executando a API em produção

Compilando para o uso em produção

yarn build

Executando migrações para o uso em produção

yarn prisma:mig:prod
# ou
npx prisma migrate deploy

Executando em produção

yarn start:prod

Note

Lembre-se de cofigurar as variáveis de ambiente para usar em produção.

Outros comandos

Executando testes

yarn test

Executado a verificação de padronização do código.

yarn lint

Fixando erros de padronização do código.

yarn lint:fix
yarn format

Autor

Cosmo

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published