78 lines
3.5 KiB
Markdown
78 lines
3.5 KiB
Markdown
# Функциональность проекта 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 API
|
||
- `auth.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 конвейер настроен
|
||
- ✅ Документация обновлена
|
||
- 🚀 Готов к продакшн деплою
|