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.gitAntes 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 installUse o seguinte comado para executar as migrações da base de dados
yarn prisma:mig:dev
# ou
npx prisma migrate devExecute a seed da base de dados para criar campos necessários para a aplicação
yarn prisma:seed
# ou
npx prisma db seedO comando abaixo inicia o servidor no ambiente de desenvolvimento
yarn startO comando abaixo inicia o servidor no ambiente de desenvolvimento, ele reinicia assim que detecta uma mudança em algum arquivo
yarn start:devCompilando para o uso em produção
yarn buildExecutando migrações para o uso em produção
yarn prisma:mig:prod
# ou
npx prisma migrate deployExecutando em produção
yarn start:prodNote
Lembre-se de cofigurar as variáveis de ambiente para usar em produção.
Executando testes
yarn testExecutado a verificação de padronização do código.
yarn lintFixando erros de padronização do código.
yarn lint:fix
yarn format|
|
| Cosmo |