8000 GitHub - i-blast/track-calories: Daily calorie intake tracking service
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

i-blast/track-calories

Repository files navigation

REST API сервис для отслеживания дневной нормы калорий пользователя и учета съеденных блюд

Требования

1. 👤 Пользователи. Добавление пользователей с параметрами:

  • ID
  • Имя
  • Email
  • Возраст
  • Вес
  • Рост
  • Цель (Похудение, Поддержание, Набор массы)

На основе данных автоматически рассчитать дневную норму калорий (можно использовать формулу Харриса-Бенедикта).

2. 🥗 Блюда. Добавление блюд с параметрами:

  • ID
  • Название
  • Количество калорий на порцию
  • Белки/Жиры/Углеводы

3. 🍽️ Прием пищи. Пользователь может добавлять прием пищи со списком блюд

4. 📝 Отчеты (эндпоинты, без формирования документа):

  • отчет за день с суммой всех калорий и приемов пищи
  • проверка, уложился ли пользователь в свою дневную норму калорий
  • история питания по дням

Нефункциональные требования:

  • использовать Spring Boot + Spring Data JPA
  • база данных PostgreSQL
  • валидация входных данных (например, проверка веса и роста на адекватность)
  • написать юнит-тесты для основной логики
  • реализовать обработку ошибок (например, если пользователь не найден)

💻 Инструкция для запуска

  • Requirements: JDK 21, Gradle 8.13, Docker Compose v2.33
  • Собрать Spring Boot приложение с помощью ./gradlew build
  • Запустить сервис БД с помощью docker-compose up
  • Запустить приложение с помощью ./gradlew bootRun

💡TODO

  • flyway migrations
  • split into api & report generating microservices

About

Daily calorie intake tracking service

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0