Este projeto consiste em uma API REST em Node.js para gerenciar sua dieta. Com esta aplicação, você pode cadastrar novas refeições, excluir refeições existentes e visualizar métricas importantes para sua dieta, como quantidades totais de alimentos dentro e fora da dieta.
-
POST - /daily/register/
Criar um novo usuario, recebendo no body da requisição
email
epassword
-
POST - /daily/login/
Fazer um novo login, recebendo no body da requisição
email
epassword
-
GET - /daily/snacks/
Listar todos os registros de dietas no banco de dados.
-
POST - /daily/snacks/
Criar uma nova refeição, recebendo no body da requisição
name
,description
eisInDiet
. -
GET - /daily/:id
Listar apenas uma dieta especificas no banco de dados.
-
DELETE - /daily/:id
Deletar apenas uma dieta especificas no banco de dados.
-
PUT - /daily/:id
Alterar dados de apenas uma dieta especificas no banco de dados.
-
GET - /daily/summary
Mostar metricas como quantidade total de refeições registradas, quantidade total dentro da dieta.
-
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:
- 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 por dia de refeições dentro da dieta.
-
O usuário só pode visualizar, editar e apagar as refeições o qual ele criou.
- Node.Js
- Typescript
- Zod
- Fastify
- @fastify/cookie
- Eslint
- Vitest
- Supertest
- Tsx
- Sqlit 3 para ambiente de desenvolvimento.
# Clone repository
$ git clone https://github.com/franciniltonsoaresmenzes/daily-diet-api-rest.git
# Go to server folder
$ cd daily-diet-api-rest
# Install Dependencies
$ npm i
# Rename file .env.example to .env
# Rename file .env.test.example to .env.test
# Run script Knex
$ npm run knex -- migrate:latest
# Run aplication
$ npm run dev
# Access localhost
# http://localhost:3333