https://github.com/nikitachalykh/marketplace_product_tracking_service
tracking marketplace product cards service
https://github.com/nikitachalykh/marketplace_product_tracking_service
beautifulsoup4 celery django django-rest-framework djoser docker docker-compose gunicorn nginx postgresql python3 redis rest-api unittest
Last synced: about 2 months ago
JSON representation
tracking marketplace product cards service
- Host: GitHub
- URL: https://github.com/nikitachalykh/marketplace_product_tracking_service
- Owner: NikitaChalykh
- Created: 2022-05-04T08:05:47.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2025-03-04T12:56:40.000Z (about 2 months ago)
- Last Synced: 2025-03-04T13:41:05.902Z (about 2 months ago)
- Topics: beautifulsoup4, celery, django, django-rest-framework, djoser, docker, docker-compose, gunicorn, nginx, postgresql, python3, redis, rest-api, unittest
- Language: Python
- Homepage:
- Size: 120 KB
- Stars: 6
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Сервис отслеживания карточек товаров маркетплейса
=====Описание проекта
----------
Сервис предназначен для автоматического отслеживания изменений параметров карточек товаров на маркетплейсе. Сервис позволяет получать статистические данные о состоянии карточек в заданном диапазоне дат с учетом временного интервала обновления (не чаще 1 записи в час).Проект разворачивается в следующих Docker контейнерах: web-приложение, postgresql-база данных, nginx-сервер, Redis-база данных и Celery-контейнер.
Реализована аутентификация на базе JWT-токенов, настроена админка, реализовано тестирование основных моделей и url-ов проекта. Информация об историческом состоянии карточек товаров фильтруется по диапазону дат с интервалами.
Отслеживание данных карточек реализовано в виде асинхронной Celery задачи.
Приготовлены фикстуры для заполнения БД тестовыми данными. Пароль и никнейм админа в фикстурах БД - ```admin```.
Системные требования
----------
* Python 3.8+
* Docker
* Works on LinuxСтек технологий
----------
* Python 3.8+
* Django 3.1
* Django Rest Framework
* unittest
* PostreSQL
* Nginx
* gunicorn
* Docker, Docker Compose
* Сelery
* Redis
* BeautifulSoup4Установка проекта из репозитория
----------
1. Клонирование репозитория:
```bash
git clone [email protected]:Nikita223/marketplace_product_tracking_service.gitcd marketplace_product_tracking_service # Переходим в директорию с проектом
```2. Создайте файл ```.env``` используя ```env.example``` в качестве шаблона в папке infra
3. Установка и запуск приложения в контейнерах:
```bash
docker-compose up -d
```4. Запуск миграций, сбор статики, загрузка фикстур и запуск тестов:
```bash
docker-compose exec web python manage.py migratedocker-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/```
Админка сервиса:
```http://127.0.0.1/admin/```