Receptory
Описание
Подбор рецептов по имеющимся продуктам с учётом типа блюда, диет/исключений, с фото, шагами и подсчётом КБЖУ на порцию
Языки
- 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.
Структура
— Next.js 14 (TypeScript, Tailwind, PWA)frontend/— FastAPI (поиск, рецепты, избранное)backend/api/— нормализация ингредиентов (RU морфология+синонимы)backend/services/normalizer/— расчёт КБЖУbackend/services/nutrition/— Scrapy+Playwright парсер источников (скелет)backend/services/parser/— Celery воркер для очередейbackend/services/worker/— миграции БД, k8s-манифесты (скелет)infra/— конфигурация OpenSearch (маппинги)search/— утилиты (загрузка семплов)scripts/
API (основные)
— подбор рецептов по ингредиентам/фильтрамPOST /api/construct/search— карточка рецептаGET /api/recipes/{id}— пересчёт порцийPOST /api/recipes/{id}/scale— замены ингредиентовPOST /api/recipes/{id}/substitute
Лицензия
MIT © 2025