Ignite Node.JS - 2023 - Desafio 02

Node.JS

Specs do desafio

Notion do Desafio 02 Figma do Desafio 02

Start 🏁

No terminal, na pasta raiz do projeto, execute o comando:

npm install

Após a instalção das depêndencias, execute esse comando para iniciar o husky:

npm run prepare

.env

Copie o arquivo .env.example para .env Altere conforme sua preferência

Migrations

Após a configuração do seu arquivo .env, execute o comando:

npm run knex migrate:latest

Isso ira popular o banco de dados sqlite (quando em ambiente de testes e local) com as tabelas base

Rodando o projeto

Basta executar o comando:

npm run dev

Tests

Antes de iniciar os testes copie o arquivo .env.test.example para .env.test Altere conforme sua preferência (sendo diferente do arquivo .env)

A aplicação utiliza o vitest para a execução dos testes

Estão disponíveis os comandos:

  • test
  • test:ui para utilização do vitest/ui
  • test:coverage para averiguar a porcentagem de coverage (cobertura) do projeto utilizando o istambul.js como interface

Requisitos do Desafio 02

  • Deve ser possível criar um usuário
  • Deve ser possível identificar o usuário entre as requisições
  • Deve ser possível registrar uma refeição feita, com as seguintes informações: As refeições devem ser relacionadas a um usuário.
    • Nome
    • Descrição
    • Data e Hora
    • Está dentro ou não da dieta
  • Deve ser possível editar uma refeição, podendo alterar todos os dados acima
  • Deve ser possível apagar uma refeição
  • Deve ser possível listar todas as refeições de um usuário
  • Deve ser possível visualizar uma única refeição
  • Deve ser possível recuperar as métricas de um usuário
    • 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 de refeições dentro da dieta
  • O usuário só pode visualizar, editar e apagar as refeições o qual ele criou
  • Criação de testes e2e para as rotas de users e snacks