Document Verify — микросервис для генерации, подписания и верификации PDF-документов, с интеграцией в MinIO и интерфейсом FastAPI.
Перед запуском убедитесь, что установлены:
-
Создайте
.env
файл из шаблона .env.example: -
Поднимите проект (миграции будут проведены автоматически):
task docker:up
- 📘 Swagger UI: http://0.0.0.0:8001/swagger#/
- 🗂 MinIO Web: http://0.0.0.0:9004/
- 📊 Grafana (логи и метрики): http://localhost:3001/
⚠️ Не рекомендуется, используется только для ручного применения миграций
Требуется:
- Python 3.12
- uv
Установка зависимостей:
uv sync
- Язык и фреймворк: Python 3.12 + FastAPI
- База данных: PostgreSQL
- Миграции: Alembic
- Хранилище файлов: MinIO
- Мониторинг и логи: Prometheus + Grafana + Loki
- Очереди задач и фоновые процессы: RabbitMQ + Taskiq
Надёжная асинхронная обработка задач через брокер сообщений с масштабируемыми воркерами — высокая отказоустойчивость и гибкость архитектуры.
- Управление задачами разработки: Taskfile (taskfile.dev)
- Статический анализ и стиль кода:
mypy
,ruff
,isort
- Все сервисы интегрированы с Prometheus и Loki через готовые middleware.
- Grafana содержит преднастроенные дашборды:
- Метрики по времени отклика и загрузке
- Логи с фильтрацией по сервисам
- Количество и частота ошибок по каждому end-point
- Время обработки по каждому end-point