Giter Site home page Giter Site logo

culinaryapp's Introduction

Это наш проект CulinaryApp

Функционал проекта - приложение, куда вводишь то, что есть в холодильнике, и оно предлагает, что можно приготовить из имеющейся еды

Build Status Coverage

Как установить:

скачать репозиторий

Как запустить:

перейти в главную директорию проекта, набрать python CulinaryApp.py

Как запустить юнит-тесты:

перейти в главную директорию проекта, набрать python test_all.py

Как запустить REST API:

1)Поставить проект в корень диска С(чтобы адрес был С://CulinaryApp). Либо же поставить проект в другую папку и прописать глобальную переменную CULINARY_APP_DIR в качестве этой директории.

2)Прописать глобальную переменную python_path - путь к exe-шнику python(для корректной работы REST API)

3)Запустить ( от имени администратора) файл CulinaryServer/CulinaryServer/bin/Debug/CulinaryServer.exe , после чего совершать POST запросы для взаимодействия с приложением. В качестве первого запроса должно быть число от 0 до 12, в качестве второго запроса - это же число и(через пробел) список наименований ингредиентов(без кавычек, разделенный только запятыми), каждое наименование должно дословно соответствовать выведенным на экране выше. Если в наименовании больше 1 слова, разделяйте слова знаком _ , но не пробелом.

ПРИМЕР ПЕРВОГО ЗАПРОСА: 0

ПРИМЕР ВТОРОГО ЗАПРОСА: 0 вода,водка,гашеная_сода,грибы

4)После запуска откройте файл Receipts.txt в C://CulinaryApp

culinaryapp's People

Contributors

dimakarp1996 avatar trifonovslavon avatar

Watchers

 avatar

culinaryapp's Issues

Проблемы

1)ПРограмма парсит каждую категорию максимум до пятой страницы. Как следствие, слишком мало данных и слишком мало возможных ингредиентов
(Это решено, теперь можно прямо в программе задавать, сколько примерно страниц надо)
2)Надо использовать более качественную метрику определения ближайшего расстояния от того, что ввел пользователь, до ингредиента, чем просто расстояние Левенштейна. м.б Word2Vec?
(делать это только в последнюю очередь, т.к вызовы все равно будут через веб интерфейс - сначала вызовы надо сделать из фиксированного списка, остальное - если есть возможность только)
3)Не настраивается Travis - выдается ошибка(это решено)

  1. Мало юнит-тестов. mock с builtin.input считывает только по 1 символу. Что плохо. Тестами надо покрыть минимум 60% кода.
    5)Код написан не в объектно-ориентированном виде - надо переписать в объектно-ориентированном, и чтобы там были какие-то из упомянутых паттернов(готово)
    6)Добавить защиту от угроз(грубо говоря, чтобы если пользователь вводит не то, что надо, чтоб не выводило сразу ошибку)(делать это только в последнюю очередь, так как ввод в идеале все равно будет через консоль)
    7)ingredient_search работает некорректно(...)
    8)Сделать веб-приложение(решают Андрей Лапушкин и Дима Прасолов)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.