Данное приложение представляет из себя мильти-контейнерное приложение, позволяющее принимать информацию о пользователях из Kafka и сохраняющее ее (информацию о пользователях) в БД, а также предоставляет API для управления пользователями.
- создайте виртуальное окружение,
- установите зависимости:
pip install -r requirements.txt
Это избавит от ошибок импорта при разработке.
-
Создайте файл с конфигами
.env
в директорииsrc
. Пример файла с конфигами - .env.example. -
Для первичного запуска и билда (например, для установки новой библиотеки) приложения выполните команду:
make build
Данная команда выполнит команду Docker Compose:
docker-compose up --build -d
Будет запущено приложение на FastAPI, БД Postgres к нему, Zookeeper, брокер Kafka и Control Center:
Чтобы остановить приложение, выполните команду:
make stop
Чтобы рестартануть приложение, выполните команду:
make start
Тестовое сообщение в топик users
отправит ручка GET /produce
.
http://localhost:8000/docs
(Swagger)http://localhost:9021
(Control Center)http://localhost:5432
(БД)
Для запуска тестов выполните команду:
make test
Для форматирования стилей (autoflake
, isort
, black
) выполните команду:
./pre_commit_styles.sh