Aplicação back-end desenvolvida durante a formação Node.JS na plataforma da Rocketseat.
Esta é uma API desenvolvida para completar o desafio 02 do módulo criando APIs RESTfull com Node.js da formação Node.Js na plataforma da Rocketseat o qual estou participando. A aplicação consiste em um sistema de controle para dietas diárias no qual o usuário se cadastra com nome e email e pode iniciar o acompanhamento de suas dietas no dia a dia cadastrando as refeições feitas.
- 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 listar todas as refeições de um usuário
- Deve ser possível visualizar uma única refeição
- 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 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
- Node.js versão 20 ou superior.
- Fastify
- Zod
- JavaScript
- Typescript
- SQLite
- ESLint
- Dotenv
- Knex
- Tsx
- @fastify/cookie
- @rocketseat/eslint-config
- @types/node
- Clone o projeto:
$ git clone https://github.com/JaasielAntunes/daily-diet-api-challenge.git
- Acesse a pasta do projeto:
$ cd daily-diet-api-challenge
- Instale as dependências:
$ npm install
- Execute:
$ npm run knex -- migrate:latest
- Inicie o servidor:
$ npm run dev
Cadastrar usuário
{
"name": "José",
"email": "jose@gmail.com"
}
Cadastrar refeição
{
"name": "Café da Manhã",
"description": "Cuscuz, Iame e Frango Grelhado",
"isOnDiet": true,
"date": 20022024
}
Atualizar uma refeição
{
"name": "Almoço",
"description": "Batata doce, ovo cozido e salada",
"isOnDiet": true,
"date": 20022024
}
Retorna todas os usuários cadastrados.
Retorna todas as refeições cadastradas.
Retorna as métricas da dieta realizada.
Retorna um usuário específico.
Retorna uma refeição específica.
Deleta uma refeição específica.
- Utilize o Postman ou Insomnia para testar as requisições.