Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проект 4

Вариант: 3

Ветка: B

Консольное (почти) приложение для хранения и работы с кулинарными рецептами (текстовыми, могут быть картинки)

Функционал

SinCook

  • Хранение рецептов в файле формата SinCook
  • Загрузка рецептов
  • Сохранение при выходе и программы

Базовый:

  • Просмотр информации по рецепту: имени, категории, ингредиентов, шагов, картинки
  • Добавление новых рецептов
  • Удаление существующих по имени

Поиск рецептов по:

  • имени (префикс)
  • категории
  • ингредиентам (совпадение хотя бы одного)
  • Возможность комбинировать фильтры, удалять их

Сортировка в обе стороны по:

  • имени
  • категории
  • Возможность комбинировать сортировки, удалять их
  • При выводе из меню сортировки АВТОМАТИЧЕСКИ ПРИМЕНЯЮТСЯ

Комбинация сортировок и фильтров достигается путём создания сначала фильтров, потом сортировок (или наоборот)

Расширенный формат ингредиентов:

  • Ингредиенты могут храниться в формате Название - Количество Единица измерения

Интерфейс с использованием Spectre.Console

  • Красивые таблицы в основном меню, сортировках и фильтрах
  • Удобные выборы, множественные выборы, вводы данных
  • Вывод картинки рецепта

Импорт и экспорт:

  • В Json
  • В Csv
  • В облако (см. дальше)

А также:

  • Случайный рецепт дня
  • Формирование списка ингредиентов по нескольким рецептам с автобъединением одинаковых
  • Запрос рецепта у GigaChat-Lite

Облако и синхронизация на Яндекс Диск

  • Поддерживается как загрузка данных из сетевой книги, из сохранение их туда, так и синхронизация!
  • Для этого перейдите по Импорт -> Из сетевой книги -> Выбрать все

Api ключи для GigaChat и Яндекс Диск хранятся в .env файле в папке с .exe!

Расширяемость

Recipe:

  • Наследуем Recipe
  • Наследуем RecipeBook
  • Переопределяем методы парса/сериализации
  • Перезаписываем Constructor в RecipeBook
  • При создании контекста отдаём наследника RecipeBook

ICloudStorage

  • Можно добавить новые облака, реализовав интерфейс

IGenerativeAi

  • Можно добавить свою LLM, реализовав интерфейс

Менюшки

  • Наследуем нужную
  • Добавляем в Redirectors у ProgramContext наследника

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages