3.5 KiB
3.5 KiB
Функциональность проекта Quoter
Основные возможности
🖼️ Обработка изображений
- Загрузка и хранение изображений
- Генерация thumbnail'ов различных размеров
- Поддержка форматов: JPG, PNG, GIF, WebP, HEIC, TIFF
- Автоматическое определение формата изображений
🔐 Аутентификация и авторизация
- Система токенов для пользователей
- Управление квотами загрузки (5GB на пользователя)
- Проверка прав доступа к файлам
📁 Управление файлами
- Загрузка файлов через multipart form data
- Хранение в S3-совместимых хранилищах
- Поиск файлов по паттернам
- Кэширование списков файлов
🌐 HTTP API
- RESTful endpoints для всех операций
- Поддержка CORS для веб-приложений
- Обработка ошибок с детальными сообщениями
- Проксирование запросов к файлам
📊 Мониторинг и логирование
- Интеграция с Sentry для отслеживания ошибок
- Логирование всех операций
- Метрики производительности
Технические особенности
🧪 Тестирование
- Полное покрытие unit тестами (36 тестов)
- Интеграционные тесты для всех компонентов
- Моки для внешних зависимостей
- Тесты производительности
🚀 Развертывание
- Docker контейнеризация
- Автоматизированный CI/CD конвейер
- Поддержка различных окружений
- Масштабируемая архитектура
🔧 Конфигурация
- Гибкая настройка через переменные окружения
- Поддержка различных S3 провайдеров
- Настраиваемые квоты и лимиты
- Конфигурация CORS политик
Архитектура
Модули
core.rs- основная бизнес-логика и GraphQL APIauth.rs- аутентификация и управление пользователямиhandlers/- HTTP обработчики запросовthumbnail.rs- генерация thumbnail'овs3_utils.rs- работа с S3-совместимыми хранилищамиlookup.rs- поиск и определение типов файловoverlay.rs- наложение водяных знаков и метаданных
Зависимости
- Actix Web для HTTP сервера
- Redis для кэширования
- AWS SDK для S3 операций
- Image crate для обработки изображений
- Sentry для мониторинга
Статус разработки
- ✅ Основная функциональность реализована
- ✅ Полное покрытие тестами
- ✅ CI/CD конвейер настроен
- ✅ Документация обновлена
- 🚀 Готов к продакшн деплою