Для запуска приложения необходимо скачать данный репозиторий и установить требуемые зависимости:
git clone https://github.com/h4cktivist/views-stats.git
pip install -r requirements.txt
Необходимо также создать .env
файл в корне проекта, где указать следующие данные:
SQLALCHEMY_DATABASE_URL = "Ссылка на базу данных"
SECRET_KEY = "Секретный ключ для JWT"
ALGORITHM = "Алгоритм хэширования JWT"
После этого, приложение можно запустить следующим образом:
uvicorn main:app
Локально API будет доступен по адресу http://127.0.0.1:8000
Создание пользователя - POST
на /users
. Тело запроса:
{
"username": string,
"password": string
}
Аутентификация - POST
на /users/login
. Тело запроса:
{
"username": string,
"password": string
}
Ответ от сервера при успешной аутентификации:
{
"type": "Bearer",
"token": токен JWT
}
NB! При запросах для следующих маршрутов, требуется указывать заголовок Authorization
, содержащий токен, полученный при аутентификации.
Отправка запроса на сбор просмотров с постов ВК - POST
на /get-views/vk
. Тело запроса:
{
"links": [список ссылок]
}
При успешном выполнении данного запроса, ссылки отправятся на обработку в фоновом режиме.
Проверить статус выполнения парсинга по каждой ссылке можно отправкой GET
запроса на /get-bg-tasks
. Пример ответа на такой запрос:
[
{
"platform": "vk",
"link": "https://vk.com/-",
"status": "done",
"views": 9782
},
{
"platform": "vk",
"link": "https://vk.com/-",
"status": "in progress",
"views": null
},
{
"platform": "vk",
"link": "https://vk.com/-",
"status": "created",
"views": null
}
]
Статусы задач:
created
- задача создана, находится в очереди на выполнениеin progress
- задача в работеdone
- задача выполнена. Для задачи с таким статусом доступно количество просмотров в полеviews
.failed
- выполнение задачи провалено
Более подробную информацию о возможных запросах можно получить в Swagger по адресу /docs
.