Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/genndy007/wb_scraper
CRUD Wildberries Goods Monitor RestAPI with Django, DRF, JWT Auth, Celery[RabbitMQ], Docker-compose
https://github.com/genndy007/wb_scraper
celery django django-rest-framework docker-compose dockerfile jwt poetry postgresql pytest python rabbitmq
Last synced: 2 days ago
JSON representation
CRUD Wildberries Goods Monitor RestAPI with Django, DRF, JWT Auth, Celery[RabbitMQ], Docker-compose
- Host: GitHub
- URL: https://github.com/genndy007/wb_scraper
- Owner: genndy007
- Created: 2022-04-21T17:04:46.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2022-05-03T22:20:02.000Z (over 2 years ago)
- Last Synced: 2024-11-27T15:41:58.425Z (2 months ago)
- Topics: celery, django, django-rest-framework, docker-compose, dockerfile, jwt, poetry, postgresql, pytest, python, rabbitmq
- Language: Python
- Homepage:
- Size: 104 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Wildberries Goods Scraper/Monitor
This software lets you to set regular scraping of goods at Wildberries Marketplace.
You can add articuls of particular goods you are interested in, and then get information
about cost changes in certain period of time.## Table of Contents
- [Installation](#installation)
- [Usage](#usage)
- [Tests](#tests)
- [Support](#support)
- [Contributing](#contributing)## Installation
Download project to your computer, change to project directory, then:
#### End user run
```sh
# Run with sudo because of docker-compose usage
sudo ./build-n-run.sh
```#### Build with hands
```sh
# Run with Python3, PostgreSQL and Celery[RabbitMQ]
cp .env.example .env # fill env file with values
pip install poetry
poetry install # --no-dev flag for no testing libs# terminal 1
sudo rabbitmq-server # run queue backend
# terminal 2
createdb wb_app -O postgres -U postgres # create postgres database
# terminal 3
poetry run python ./src/manage.py runserver 0.0.0.0:8000 # django backend
# terminal 4
cd ./src
poetry run celery -A main worker -B -l INFO # celery tasks worker
```#### Compose
```sh
# root privileges
docker-compose build
docker-compose up
```## Usage
I hope I would add Swagger interactive documentation
#### User authentication
|Request | Definition |
|----------------------|---------------------------|
|POST /users/register/ | Register a new user |
|POST /users/login/ | Login into account |
|GET /users/me/ | Check yourself logged in |
|POST /users/logout/ | Log out |#### Cards CRUD
|Request |Definition |
|----------------------------------------------------------------|---------------------|
|POST /cards/ | Add new card |
|GET /cards/ | Get all your cards |
|DELETE /cards/ | Delete all cards |
|DELETE /cards/1/ | Delete one card |
|GET /cards/update/ | Update stats now |
|GET /cards/1/stats?start=2022-01-01&end=2023-01-01&interval=1 | Retrieve statistics |## Tests
To run all tests
```sh
# testing libs must be installed
poetry install
poetry shell
./test.sh
```## Support
Check my [GitHub account page](https://github.com/genndy007/) for contacts.
Please [open an issue](https://github.com/genndy007/wb_scraper/issues/new) for support.## Contributing
Please contribute using [GitHub Flow](https://guides.github.com/introduction/flow/).
Create a branch, add commits, and [open a pull request](https://github.com/genndy007/wb_scraper/compare/).