API desenvolvida para registrar e contabilizar o consumo diário de macronutrientes, que utiliza dados nutricionais da tabela TACO - UNICAMP.
Execute:
git clone https://github.com/augustolfp/calories-tracker-backend.git
Crie um documento .env na pasta raiz do projeto. Utilize o .env.example como base:
DATABASE_URL = postgresql://postgres:postgres@mydatabase:5432/calories_tracker
JWT_SECRET = YOUR_PASSWORD_HERE
POSTGRES_USERNAME=postgres
POSTGRES_PASSWORD=postgres
POSTGRES_DB=calories_tracker
PORT = 5000
Execute o comando na raiz do projeto para montar as imagens do Docker:
docker compose up --build
A API já deve estar funcionando!
POST /sign-up
Body | Tipo | Descrição |
---|---|---|
name |
string |
Obrigatório. Nome do usuário. |
email |
string |
Obrigatório. Email do usuário. |
password |
string |
Obrigatório. Senha do usuário. |
POST /sign-in
Body | Tipo | Descrição |
---|---|---|
email |
string |
Obrigatório. Email do usuário. |
password |
string |
Obrigatório. Senha do usuário. |
(Rota autenticada)
POST /add-counted-day
Body | Tipo | Descrição |
---|---|---|
day |
string |
Obrigatório. Data no formato AAAA-MM-DD . |
notes |
string |
Opcional. Comentário sobre o dia. |
caloriesTarget |
number |
Obrigatório. Alvo de calorias do usuário. |
proteinsTarget |
number |
Obrigatório. Alvo de proteinas do usuário. |
(Rota autenticada)
POST /add-meal
Body | Tipo | Descrição |
---|---|---|
name |
string |
Obrigatório. Título da refeição. |
description |
string |
Opcional. Descrição da refeição. |
countedDayId |
number |
Obrigatório. Id do dia da refeição. |
(Rota autenticada)
POST /add-ingredients
Body | Tipo | Descrição |
---|---|---|
name |
string |
Obrigatório. Nome do ingrediente. |
mealId |
number |
Obrigatório. Id da refeição da qual o igrediente faz parte. |
weight |
number |
Obrigatório. Peso em gramas do ingrediente. |
carbs |
number |
Obrigatório. Carboidratos em gramas. |
fats |
number |
Obrigatório. Gorduras em gramas. |
proteins |
number |
Obrigatório. Proteinas em gramas. |
kcals |
number |
Obrigatório. Valor calórico do ingrediente. |
(Rota autenticada)
GET /get-days-data
(Rota autenticada)
DELETE /delete-ingredient/<INGREDIENT_ID>
(Rota autenticada)
DELETE /delete-meal/<MEAL_ID>
(Rota autenticada)
DELETE /delete-counted-day/<COUNTED_DAY_ID>
(Rota autenticada)
GET /validate
Rotas autenticadas requerem um HEADER no seguinte formato:
Headers | Tipo | Descrição |
---|---|---|
Authorization |
string |
Obrigatório. Formato Bearer <JWT_TOKEN> . |
PS: JWT TOKEN é recebido na resposta do Sign-in!
headers: {
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImF1Z3VzdG9sZnBAZ21haWwuY29tIiwibmFtZSI6IkFnb3N0aW5obyBDYXJyYXJhIiwidXNlcklkIjoxLCJpYXQiOjE2Njc4NDI4NzMsImV4cCI6MTY2Nzg0NjQ3M30.OHv7pVIyIthAhkGtVrUle2yXrHk7IFAXjZtfNXDO2yc,
},