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
- Requisitos
- Fork e Clone
- Configuração do ambiente
- Baixando as dependências
- Migrações da base de dados
- Executando a API em desenvolvimento
- Executando a API em produção
- Outros comandos
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 |
Caminho | Método | Descrição |
---|---|---|
/auth/forgot-password | POST |
Pedir chave para definir nova senha |
/auth/set-password | PUT |
Definir nova senha |
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
- 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.
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
Antes de executar a API você deve realizar algumas configurações
- 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 chamadoexample.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 |
Use o comando abaixo para instalar todas as dependências do projeto
yarn install
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
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
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.
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
Cosmo |