Receptory

0

Описание

Подбор рецептов по имеющимся продуктам с учётом типа блюда, диет/исключений, с фото, шагами и подсчётом КБЖУ на порцию

Языки

  • Python71,5%
  • TypeScript20,3%
  • Dockerfile5%
  • JavaScript1,5%
  • Makefile1,3%
  • CSS0,4%
7 месяцев назад
7 месяцев назад
7 месяцев назад
7 месяцев назад
7 месяцев назад
7 месяцев назад
7 месяцев назад
7 месяцев назад
7 месяцев назад
7 месяцев назад
7 месяцев назад
README.md

Рецепторий (MVP)

Быстрый подбор русскоязычных рецептов по имеющимся продуктам с учётом типа блюда, диет/исключений, с фото, шагами и примерным подсчётом КБЖУ на порцию.

Быстрый старт (Docker Compose)

Сервисы:

  • web — Next.js PWA фронтенд: http://localhost:3000
  • api — FastAPI API: http://localhost:8000/docs
  • db — PostgreSQL 16
  • redis — Redis 7
  • opensearch — OpenSearch 2.x (поиск)
  • minio — объектное хранилище (локально)

Внимание: конфигурация минимальная (dev). В проде используйте секреты/HTTPS/авторизацию на уровне ingress.

Структура

  • frontend/
    — Next.js 14 (TypeScript, Tailwind, PWA)
  • backend/api/
    — FastAPI (поиск, рецепты, избранное)
  • backend/services/normalizer/
    — нормализация ингредиентов (RU морфология+синонимы)
  • backend/services/nutrition/
    — расчёт КБЖУ
  • backend/services/parser/
    — Scrapy+Playwright парсер источников (скелет)
  • backend/services/worker/
    — Celery воркер для очередей
  • infra/
    — миграции БД, k8s-манифесты (скелет)
  • search/
    — конфигурация OpenSearch (маппинги)
  • scripts/
    — утилиты (загрузка семплов)

API (основные)

  • POST /api/construct/search
    — подбор рецептов по ингредиентам/фильтрам
  • GET /api/recipes/{id}
    — карточка рецепта
  • POST /api/recipes/{id}/scale
    — пересчёт порций
  • POST /api/recipes/{id}/substitute
    — замены ингредиентов

Лицензия

MIT © 2025