- Автоматическое отслеживание динамики изменения параметров карточки товара на маркетплейсе Wildberries
- Получение по запросу статистической информации о состоянии параметров карточки в заданном диапазоне дат с заданным временным интервалом (не чаще 1 записи в час).
Проект разворачивается в следующих Docker контейнерах: web-приложение, postgresql-база данных, nginx-сервер, Redis-база данных и Celery-контейнер.
Реализована аутентификация на базе JWT-токенов, настроена админка, реализовано тестирование основных моделей и url-ов проекта. Информация об историческом состоянии карточек товаров фильтруется по диапазону дат с интервалами.
Задача коллекционирования данных реализована в виде асинхронных Celery задач.
Приготовлены фикстуры для заполнения БД тестовыми данными. Пароль и никнейм админа в фикстурах БД - admin
.
- Python 3.6+
- Docker
- Works on Linux, Windows, macOS, BS
- Python 3.8
- Django 3.1
- Django Rest Framework
- unittest
- PostreSQL
- Nginx
- gunicorn
- Docker
- Сelery
- Redis
- BeautifulSoup4
- Клонировать репозиторий и перейти в него в командной строке:
git clone [email protected]:NikitaChalykh/API_Parcer_TW.git
cd API_Parcer_TW
- Cоздать и открыть файл
.env
с переменными окружения:
cd infra
touch .env
- Заполнить
.env
файл с переменными окружения по примеру:
echo DB_ENGINE=django.db.backends.postgresql >> .env
echo DB_NAME=postgres >> .env
echo POSTGRES_PASSWORD=postgres >> .env
echo POSTGRES_USER=postgres >> .env
echo DB_HOST=db >> .env
echo DB_PORT=5432 >> .env
echo BROKER=redis://redis >> .env
echo BROKER_URL=redis://redis:6379/0 >> .env
- Установка и запуск приложения в контейнерах:
docker-compose up -d
- Запуск миграций, сбор статики, загрузка фикстур и запуск тестов:
docker-compose exec web python manage.py migrate
docker-compose exec web python manage.py collectstatic --no-input
docker-compose exec web python manage.py loaddata fixtures.json
docker-compose exec web python manage.py test
Документация для API после установки доступна по адресу:
http://127.0.0.1/redoc/
http://127.0.0.1/swagger/