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 конвейер настроен
|
|||
|
|
- ✅ Документация обновлена
|
|||
|
|
- 🚀 Готов к продакшн деплою
|