https://github.com/Germanio10/ugc_sprint_1/invitations
Сервис, предоставляющий сбор пользовательских действий для онлайн-кинотеатра
Язык: python + FastAPI Сервер: ASGI(uvicorn) Хранилище: Clickhouse Брокер: Apache Kafka Контейнеризация: Docker Тестирование: Pytest
Склонировать данный репозиторий c API:
git clone git@github.com:Germanio10/ugc_sprint_1.git
Скопировать настройки переменных окружения из .env.example в .env:
cp .env.example .env
Запустить проект:
docker compose up
Тесты автоматически запускаются после запуска проекта
Для отдельного запуска тестов необходимо ввести:
docker-compose up tests
Variable | Explanation | Example |
---|---|---|
KAFKA_HOSTS |
Kafka Hostnames | kafka-0:9092,kafka-1:9092,kafka-2:9092 |
TOPICS |
Kafk topics | ["messages"] |
NUM_PARTITIONS |
Number of partitions | 3 |
REPLICATION_FACTOR |
Replication factor | 3 |
GROUP_ID |
Kafka group id | etl_kafka_clickhouse |
CLICKHOUSE_MAIN_HOST |
Clickhouse hostname | clickhouse-node1 |
CLICKHOUSE_MAIN_PORT |
Clickhouse port | 9000 |
CLICKHOUSE_MULTIPLE_HOSTS |
Clickhouse hostnames | clickhouse-node2, clickhouse-node3, clickhouse-node4 |
FILMS_API_BASE_URL |
Films api url | http://fastapi_nginx:81 |
Для проверки работоспособности проекта используется Swagger.
Запускаем проект и по http://localhost/api/openapi
переходим на Swagger. Здесь можно проверить работу ендпоинтов