Это репозиторий проекта, разрабатываемого в качестве тестового задания для Lesta Games
Суть проекта - создание веб-приложения, выводящего на экран статистику tf-idf для загруженых файлов.
Для хостинга веб-сервиса необходимо склонировать репозиторий и скачать зависимости
git clone https://github.com/lunaro-4/tfidf-text-processor.git
cd tfidf-text-processor
python -m venv venv
venv/bin/bash build.sh
Вариант без создания виртуальной среды:
git clone https://github.com/lunaro-4/tfidf-text-processor.git
cd tfidf-text-processor
./build.sh
После этого зпускаем проект django с помощью одной из команд: Если установка проводилась с созданием виртуальной среды:
venv/bin/python ./manage.py runserver
Если виртуальная среда не создавалась:
python ./manage.py runserver
По умоланию, сервис доступен по адресу 127.0.0.1:8000
Для запуска проекта внутри контейнера, необходимо клонировать репозиторий и построить контейнер:
git clone https://github.com/lunaro-4/tfidf-text-processor.git
cd tfidf-text-processor
sudo docker build --tag tfidf-text-processor .
По завершении создания образа, запускаем контейнер
sudo docker run -p 8000:8000 -rm --name tfidf-text-processor tfidf-text-processor .
Очень важно указать параметр -p <ваш_порт>:8000
, чтобы вы могли подключится к сервису в вашем браузере
После этого сервис будет доступен в браузере по адресу 127.0.0.1:<ваш_порт>
Вне зависимости от метода установки, при переходе по ссылке вы увидете форму для загрузки файла и указания идентификатора библиотеки. Библиотека - это набор текстовых файлов. На основании этих наборов считается idf. Важно указать одинаковый идентификатор для всех файлов в библиотеке, чтобы правильно считался idf и правильно генерировался список кнопок.
После загрузки файла вы увидете новую кнопку, имеющую название загруженого файла. Название файла должно быть уникально, поэтому если вы загрузите файлы с одинаковыми названиями, система добавит случайные символы к названию файла.
Вы также можете загрузить файлы в различные библиотеки, указывая разные идентификаторы. Переключатся между библиотеками можно, указывая соответствующий идентификатор в поле ввода над кнопками файлов