Докеризованное Django REST API для подсчёта tf-idf показателей загруженного документа с расширенной системой управления документами и пользователями. Эта версия включает:
- Новый механизм работы с документами и коллекциями, доступный через API
- Пользовательскую регистрацию, авторизацию и управление сессиями
- Подсчёт статистики по документам и коллекциям
- Полную OpenAPI-документацию
- Поддержку Docker Compose и конфигурируемые переменные окружения
testtask/lesta_api/— APItestapp/— Основное приложениеurls.py— Конфигурация URLmanage.py— Запуск Django CLIDockerfile— Определение Docker образаdocker-compose.yml— Конфигурация мультиконтейнерного окружения.env— Переменные окружения (не включаются в репозиторий)requirements.txt— Python-зависимостиREADME.md— Документация проектаchangelog.md— Журнал изменений
- Установленный Docker и Docker Compose на вашей машине
docker-compose up --buildpython -m venv venv
source venv/bin/activate # MacOS/Linux
venv/scripts/activate # Windows
pip install -r requirements.txt
python manage.py migrate
python manage.py runserverDEBUGSECRET_KEYDB_ENGINEDB_NAMEDB_USERDB_PASSWORDDB_HOSTDB_PORTALLOWED_HOSTSCORS_ALLOWED_ORIGINSCSRF_TRUSTED_ORIGINS
GET /statusвозвращает { stauts : OK } если приложение работает исправно. Отсутствие ответа указывает на проблемыGET /metricsвозвращает 4 метрики: максимальное время обработки (max_time_processed), минимальное время обработки (min_time_processed), среднее время обработки (avg_time_processed) и среднее кол-во слов в документе (avg_word_count)GET /versionвозвращает текущую версию приложения в виде JSONPOST /register— регистрация нового аккаунтаPOST /login— вход в аккаунтPOST /logout— выход из аккаунта
GET /documents/– Получить список документовGET /documents/<document_id>– Получить содержимого документаGET /documents/<document_id>/statistics— получить статистику по данному документуGET /documents/<document_id>/huffman— получить содержимое документа, закодированное Кодом ХаффманаDELETE /documents/<document_id>— получить статистику по данному документуGET /collections/– получить список коллекций с id и списком входящих в них документовGET /collections/<collection_id>- получить список id документов, входящих в конкретную коллекциюGET /collections/<collection_id>/statistics- получить статистику по коллекцииPOST /collection/<collection_id>/<document_id>- добавить документ в коллекциюDELETE /collection/<collection_id>/<document_id>- удалить документ из коллекцииPATCH /user/<user_id>- изменение пароля, переданного в теле запросаDELETE /user/<user_id>- удаление аккаунта. При удалении удаляются все файлы и коллекции аккаунта
-
Текущая: v2.1.0
-
Предыдущая: v2.0.0
Изменения можно посмотреть тут
