Репозиторий документации Pepeunit
Telegram Bot
и егоApi Key
- Чистая база данных в
Postgresql
- Чистая база данных в
Clickhouse
- Развёрнутый
EMQX MQTT Broker
Redis
- Установите пакеты при помощи команды:
poetry install
- Войдите в окружение при помощи команды:
poetry shell
- Настройте
.env
файл по образцу.env_example
- Выполните миграцию в БД, требуется только при первом запуске и добавлении новых миграций:
alembic upgrade head
- Запустите
Backend
приложение командой:uvicorn app.main:app --host 0.0.0.0 --port 5000
- Будут выполнены миграции
Clickhouse
в автоматическом режиме. МиграцииPostgres
запускаются вне кода приложения - Проверка cоединения с
EMQX MQTT Broker
и его настройка - Будет настроен
webhook
илиpooling
дляTelegram Bot
Fastapi-mqtt
установит соединение сEMQX MQTT Broker
- Бэкенд подпишется на топик
example.com/+/+/+/pepeunit
, авторизация при этом произойдёт черезredis
- Запуск веб сервера
Есть два режима работы: через webhook
, и через pooling
- выбор осуществляется на основании BACKEND_DOMAIN
.
- если введён
ip
адрес, будет использоватьpooling
- если введён домен, будет использоваться
webhook
- Введите в связанном Телеграм боте команду
/info
- она доступна без верификации https://BACKEND_DOMAIN/BACKEND_APP_PREFIX/docs
- Swagger UIhttps://BACKEND_DOMAIN/BACKEND_APP_PREFIX/graphql
- GraphQL
- Установите
.pre-commit-config.yaml
на основе.pre-commit-config.example.yaml
- Теперь при каждом коммите у вас будет происходить проверка через
black
иisort
- В случае, если нужно запустить вручную
pre-commit run --all-files
- Создание новой миграции:
alembic revision -m 'best_revision_name'
- Применение новой миграции:
alembic upgrade head
Запустить модульное тестирование можно командой:
pytest app -v
Запустить интеграционное тестирование можно командой ниже. Подробнее о настройке теста на странице документации
pytest tests -v
- Установка дополнительных пакетов:
poetry install --with load
- Подробнее о настройке тестов на странице документации
- Запуск
MQTT
теста:python -m tests.load.load_test_mqtt
- Запуск
GQL
иREST
тестаlocust -f tests/load/locustfile.py