Skip to content

nester256/DocVerify

Repository files navigation

Doc verify

🚀 Document Verify

Document Verify — микросервис для генерации, подписания и верификации PDF-документов, с интеграцией в MinIO и интерфейсом FastAPI.


📋 Требования

Перед запуском убедитесь, что установлены:


⚙️ Шаги для запуска

  1. Создайте .env файл из шаблона .env.example:

  2. Поднимите проект (миграции будут проведены автоматически):

task docker:up

🔎 Интерфейсы


🧪 (Дополнительно) Локальный запуск

⚠️ Не рекомендуется, используется только для ручного применения миграций

Требуется:

  • 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

Метрики в Grafana

Логи в Grafana

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published