Этот репозиторий подготовлен для хакатона "Внедрейд" от Orion Soft вместе с такими партнерами как:
- 🛍️ LamodaTech
- 🛒 Magnit Tech
- 🏦 Т-Банк
- 📦 CDEK
- 🏪 Авито
Вас приветствует команда Hackoholics! 🚀
Этот Backend API является центральным посредником в AR-примерочной системе для LamodaTech. Он связывает:
- 📱 iOS приложение (frontend)
- 🗄️ PostgreSQL базу данных (каталог товаров и категорий)
- 🤖 ML сервер (OOTD inference модель)
iOS App ↔ Java Backend ↔ PostgreSQL Database
↕
ML Server (OOTD)
- 📦 Каталог товаров: Управление одеждой по категориям
- 🛍️ API для iOS: RESTful endpoints для мобильного приложения
- 🤖 Интеграция с ML: Асинхронные вызовы OOTD модели
- 🗄️ База данных: PostgreSQL для хранения товаров и результатов
- 📸 Управление изображениями: Загрузка, обработка, хранение
- 🔄 Workflow: Полный цикл от выбора товара до виртуальной примерки
| Компонент | Версия/Характеристика |
|---|---|
| Java | 17+ |
| Spring Boot | 3.2+ |
| PostgreSQL | 15+ |
| Maven | 3.8+ |
| RAM | 8GB+ |
| Disk | 5GB+ (для изображений) |
- 📦 Каталог товаров: Получение категорий, товаров по категориям, поиск
- 🎨 Виртуальная примерка: Создание сессий, проверка статуса, получение результатов
- ❤️ Избранное: Сохранение понравившихся примерок
- 📸 Изображения: Загрузка фото пользователей, получение результатов
- 📊 Статистика: История примерок пользователя
Полная документация со всеми endpoints, примерами запросов и ответов доступна в Postman:
📋 Postman Collection - Fashion Try-On API
Коллекция включает:
- ✅ Все endpoint-ы с примерами
- 🔧 Готовые тестовые данные
- 📝 Подробные описания параметров
- 🎯 Примеры успешных и ошибочных ответов
- 🔄 Workflow сценарии для тестирования
- Controllers: REST endpoints для iOS приложения
- Services: Бизнес логика и интеграция с ML сервером
- Repositories: Работа с PostgreSQL базой данных
- DTOs: Безопасная передача данных между слоями
- Entities: Модель данных (категории, товары, сессии)
- Прием запроса от iOS приложения с фото пользователя и ID товара
- Получение товара из PostgreSQL базы данных
- Конвертация изображений в base64 формат
- Асинхронный вызов OOTD ML сервера
- Сохранение результата и обновление статуса в БД
- Уведомление клиента о готовности результата
- Асинхронная обработка: Не блокирует iOS приложение
- Polling механизм: Клиент проверяет статус выполнения
- Retry логика: Повторные попытки при сбоях ML сервера
- Timeout handling: Корректная обработка долгих запросов
- Error recovery: Graceful degradation при недоступности ML сервера
- Загрузка каталога: iOS запрашивает категории и товары
- Выбор товара: Пользователь выбирает понравившийся item
- Фото пользователя: Загрузка selfie через камеру
- Создание сессии: Отправка данных на backend
- Polling статуса: Проверка готовности результата
- Получение результата: Отображение виртуальной примерки
- Сохранение в избранное: Опционально
- HTTP Client: URLSession с поддержкой multipart/form-data
- Image Processing: Сжатие фото до 2MB для быстрой загрузки
- Async/Await: Современный подход к асинхронным операциям
- Error Handling: Graceful обработка сетевых ошибок
- Caching: Кэширование каталога товаров для offline режима
- Управление товарами: Добавление, редактирование, удаление
- Управление категориями: CRUD операции для категорий
- Аналитика: Статистика по примеркам и популярным товарам
- Мониторинг: Состояние ML сервера и производительность
- Управление пользователями: Просмотр активности и избранного
- Health checks: Проверка доступности всех сервисов
- Performance metrics: Время ответа API и ML сервера
- Usage analytics: Статистика использования функций
- Error tracking: Логирование и отслеживание ошибок
Огромное спасибо:
- LamodaTech за интересную задачу AR-примерочной
- Orion Soft за организацию хакатона "Внедрейд"
- PostgreSQL Community за надежную базу данных
- Spring Team за отличный фреймворк
- Всем участникам команды Hackoholics
Всем хорошего настроения и успешного хакатона! 🚀✨
Made with ❤️ by team Hackoholics for Внедрейд Hackathon# 🛍️ Fashion Try-On Backend API
Этот репозиторий подготовлен для хакатона "Внедрейд" от Orion Soft вместе с такими партнерами как:
- 🛍️ LamodaTech
- 🛒 Magnit Tech
- 🏦 Т-Банк
- 📦 CDEK
- 🏪 Авито
Вас приветствует команда Hackoholics! 🚀
Этот Backend API является центральным посредником в AR-примерочной системе для LamodaTech. Он связывает:
- 📱 iOS приложение (frontend)
- 🗄️ PostgreSQL базу данных (каталог товаров и категорий)
- 🤖 ML сервер (OOTD inference модель)
iOS App ↔ Java Backend ↔ PostgreSQL Database
↕
ML Server (OOTD)
- 📦 Каталог товаров: Управление одеждой по категориям
- 🛍️ API для iOS: RESTful endpoints для мобильного приложения
- 🤖 Интеграция с ML: Асинхронные вызовы OOTD модели
- 🗄️ База данных: PostgreSQL для хранения товаров и результатов
- 📸 Управление изображениями: Загрузка, обработка, хранение
- 🔄 Workflow: Полный цикл от выбора товара до виртуальной примерки
| Компонент | Версия/Характеристика |
|---|---|
| Java | 17+ |
| Spring Boot | 3.2+ |
| PostgreSQL | 15+ |
| Maven | 3.8+ |
| RAM | 8GB+ |
| Disk | 5GB+ (для изображений) |
- 📦 Каталог товаров: Получение категорий, товаров по категориям, поиск
- 🎨 Виртуальная примерка: Создание сессий, проверка статуса, получение результатов
- ❤️ Избранное: Сохранение понравившихся примерок
- 📸 Изображения: Загрузка фото пользователей, получение результатов
- 📊 Статистика: История примерок пользователя
Полная документация со всеми endpoints, примерами запросов и ответов доступна в Postman:
📋 Postman Collection - Fashion Try-On API
Коллекция включает:
- ✅ Все endpoint'ы с примерами
- 🔧 Готовые тестовые данные
- 📝 Подробные описания параметров
- 🎯 Примеры успешных и ошибочных ответов
- 🔄 Workflow сценарии для тестирования
- Прием запроса от iOS приложения с фото пользователя и ID товара
- Получение товара из PostgreSQL базы данных
- Конвертация изображений в base64 формат
- Асинхронный вызов OOTD ML сервера
- Сохранение результата и обновление статуса в БД
- Уведомление клиента о готовности результата
- Retry логика: Повторные попытки при сбоях ML сервера
- Timeout handling: Корректная обработка долгих запросов
- Загрузка каталога: iOS запрашивает категории и товары
- Выбор товара: Пользователь выбирает понравившийся item
- Фото пользователя: Загрузка selfie через камеру
- Создание сессии: Отправка данных на backend
- Polling статуса: Проверка готовности результата
- Получение результата: Отображение виртуальной примерки
- Сохранение в избранное: Опционально
- HTTP Client: URLSession с поддержкой multipart/form-data
- Image Processing: Сжатие фото до 2MB для быстрой загрузки
- Async/Await: Современный подход к асинхронным операциям
- Error Handling: Graceful обработка сетевых ошибок
- Caching: Кэширование каталога товаров для offline режима
Огромное спасибо:
- LamodaTech за интересную задачу AR-примерочной
- Orion Soft за организацию хакатона "Внедрейд"
- PostgreSQL Community за надежную базу данных
- Spring Team за отличный фреймворк
- Всем участникам команды Hackoholics
Всем хорошего настроения! 🚀✨
Made with ❤️ by team Hackoholics for Внедрейд Hackathon