Документация Pepeunit
Telegram Bot
и егоApi Key
- Чистая база данных в
Postgresql
- Развёрнутый
EMQX MQTT Broker
Redis
- Установите пакеты при помощи команды
poetry install
- Войдите в окружение при помощи команды
poetry shell
- Настройте
.env
файл по образцу.env_example
- Выполните миграцию в БД
alembic upgrade head
- требуется только при первом запуске - Запустите Бэкенд приложение командой -
uvicorn app.main:app --host 0.0.0.0 --port 5000
- Проверка cоединения с
EMQX MQTT Broker
и его настройка - Будет настроен
webhook
илиpooling
дляTelegram Bot
Fastapi-mqtt
установит соединение сEMQX MQTT Broker
- Бэкенд подпишется на топики:
example.com/+/pepeunit
и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 tests -v