Skip to content

gabrielgxrcia/daily-diet-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Requisitos Funcionais (RF)

Cadastro de Usuário

  • Deve ser possível criar um usuário.

Identificação do Usuário

  • Deve ser possível identificar o usuário entre as requisições.

Registro de Refeição

  • Deve ser possível registrar uma refeição com as seguintes informações:
    • Nome
    • Descrição
    • Data e Hora
    • Está dentro ou fora da dieta.

Edição de Refeição

  • Deve ser possível editar uma refeição, permitindo a alteração de todos os dados mencionados acima.

Exclusão de Refeição

  • Deve ser possível apagar uma refeição.

Listagem de Refeições

  • Deve ser possível listar todas as refeições de um usuário.

Visualização de Refeição Individual

  • Deve ser possível visualizar detalhes de uma única refeição.

Recuperação de Métricas do Usuário

  • Deve ser possível recuperar métricas de um usuário, incluindo:
    • Quantidade total de refeições registradas.
    • Quantidade total de refeições dentro da dieta.
    • Quantidade total de refeições fora da dieta.
    • Melhor sequência por dia de refeições dentro da dieta.

Regras de Negócio (RN)

Restrição de Acesso a Refeições

  • O usuário só pode visualizar, editar e apagar as refeições que ele criou.

Instalação

# Clone o repositório
git clone [email protected]:gabrielgxrcia/daily-diet-api.git

# Instale as dependências do projeto
npm install

# Execute o projeto no ambiente de desenvolvimento
npm run dev

# Execute as migrations para criar o banco de dados
npm run knex -- migrate:latest

Documentação e rotas

  • Criar novo usuário
  POST /users
Parâmetro Tipo Descrição
name Body - String Obrigatório. Nome do usuário.
email Body - String Obrigatório. Email do usuário.
address Body - String Obrigatório. Endereço do usuário.
weight Body - Number Obrigatório. Peso do usuário.
height Body - Number Obrigatório. Altura do usuário.
  • Criar novo registro de refeição
  POST /meals
Parâmetro Tipo Descrição
name Body - String Obrigatório. Nome da refeição.
description Body - String Obrigatório. Descrição da refeição.
is_on_diet Body - Boolean Obrigatório. Indica se a refeição está na dieta.
  • Listar todas refeições registradas pelo usuário
  GET /meals
Parâmetro Tipo Descrição
user_id Query Param Opcional. ID do usuário para filtras as métricas.
  • Listar uma refeição específica registrada pelo usuário
  GET /meals/:${meal_id}
Parâmetro Tipo Descrição
meal_id Path Parameter Obrigatório. ID da refeição a ser consultada.
  • Mostrar um resumo geral das refeições cadastradas pelo usuário (total de refeições, refeições dentro da dieta e refeições fora da dieta)
  GET /meals/summary
Parâmetro Tipo Descrição
user_id Query Param Opcional. ID do usuário para filtras as métricas.
  PUT /meals/:${meal_id}
Parâmetro Tipo Descrição
meal_id Path Parameter Obrigatório. ID da refeição a ser editada.
name Body - String Opcional. Novo nome da refeição.
description Body - String Obrigatório. Nova descrição da refeição.
is_on_diet Body - Boolean Obrigatório. Indica se a refeição está agora na dieta.
  DELETE /meals/:${meal_id}
Parâmetro Tipo Descrição
meal_id Path Parameter Obrigatório. ID da refeição a ser excluída.

Testes E2E

  • Should be able to create a new account
  • Should be able to create a new meal
  • Should be able to list all meals
  • Should be able to get a specific meals
  • Should be able to get the summary meals
  • Should be able to delete a specific meal
  • Should be able to edit a meal
# Após a instalação do projeto e suas depêndencias:
  npm test

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published