Skip to content

Микросервис для проверки содержимого ZIP-архивов с хранением в MinIO и аутентификацией через Keycloak.

Notifications You must be signed in to change notification settings

buddyuchiha/ZipHandlerAPI

Repository files navigation

Zip Handler API

Микросервис для проверки содержимого ZIP-архивов с хранением в MinIO и аутентификацией через Keycloak.

Техническое задание

Функционал

  • Загрузка архивов: Прием ZIP-архивов до 100 МБ с проверкой целостности
  • Аутентификация и авторизация: Безопасный доступ через Keycloak OAuth2
  • Хранение файлов: Надежное хранение в MinIO object storage
  • Валидация: Проверка целостности архивов, валидация формата и размера
  • REST API: Полное API на FastAPI с автоматической документацией OpenAPI

Технологии

FastAPI PostgreSQL Docker SQLAlchemy Alembic Pydantic Keycloak MinIO

Инструкция запуска через Docker Compose

  1. Клонировать git-репозиторий
image image
  1. Открыть проект
image
  1. Сконфигурировать .env по шаблону
image
  1. Выполнить команду docker compose up -d --build
image image
  1. Подождать 20 секунд и перейти на: http://127.0.0.1:8000/docs
image

Инструкция локального запуска

  1. Клонировать git-репозиторий
image image
  1. Открыть проект
image
  1. Сконфигурировать .env по шаблону
image
  1. Активировать виртуальное окружение и установить зависимости
image
  1. Выполнить команду docker compose up -d postgres_app postgres_keycloak minio keycloak
image
  1. Выполнить команду python src/main.py и перейти на http://127.0.0.1:8000/docs
image image

Авторизация

  1. Нажать на кнопку
image
  1. В появившемся окне вставить client_id и client_sercret, значения которых можно взять из .env-template
image image
  1. Войти в тестовый аккаунт пользователя, значение которого можно взять из keycloak_setup/keycloak_setup.json
image image
  1. После появится возможность использовать эндпоинты
image

Админ панели

Minio: http://127.0.0.1:9001/login Пароль и логин: minioadmin

image

Keycloak: http://localhost:8080 Пароль и логин: admin

image

About

Микросервис для проверки содержимого ZIP-архивов с хранением в MinIO и аутентификацией через Keycloak.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published