Анализатор прайс-листов
Пользовательские требования
Требуется создать веб-приложение для поиска информации о ценах и наличии товаров в прайс-листах разных поставщиков.
Приложение должно иметь два интерфейса: пользовательский и администраторский.
Основная задача пользовательского интерфейса – предоставление пользователю возможности поиска актуальных цен и наличия товаров в прайс-листах по артикулу и фильтрация выборки по заданным условиям.
Основные задачи администраторского интерфейса:
1) администрирование пользователей системы
2) администрирование поставщиков, прайс-листов и товаров обрабатываемых системой.
Этапы обработки прайс-листов системой:
1) Получение прайс-листов. Источники: excel-файлы из приложений в e-mail, парсинг html-файла, URI-ссылка на заархивированный excel-файл
2) Добавление прайс-листов в БД в исходном виде
3) Приведение прайс-листов к общему виду (унификация) и размещение их в одну таблицу. В процессе унификации в унифицированный прайс-лист попадают только определенные поля (PN, наименование, цена, наличие). Остальные поля исходных прайс-листов доступны пользователю по требованию (могут храниться в отдельном поле БД, например в формате xml).
4) Связывание товаров: товары разных прайс-листов имеющие отличное друг от друга название, но являющиеся идентичными, должны трактоваться системой, как один товар
Пример идентичных товаров в прайс-листах разных поставщиков:
• Мышь Logitech S90 Optical PS/2 OEM (953544-1000)
• 953544 Logitech M-SBF90 Value Optical Wheel Mouse PS/2 (белый) OEM
• MOUSE PS2 3B OPTICAL S90/OEM 953544-1000 LOGITECH Gray
Имеется черновой вариант алгоритма полуавтоматического связывания товаров
5) Построение каталога в полуавтоматическом режиме. Имеется черновой вариант алгоритма.
Базовые возможности пользовательского интерфейса:
При работе с прайс-листам в исходном виде:
1. Выводить список полученных прайс-листов по поставщикам и дате формирования прайс-листа. Фильтровать полученные прайс-листы по поставщикам и дате получения
2. Выводить прайс-листы в оригинальном виде
3. Фильтровать строки оригинальных прайс-листов по критериям заданным пользователем
При работе с прайс-листами приведенными к общему виду
1. Поиск товаров по наименованию и артикулу
2. Фильтры по полям унифицированных прайс-листов
3. Добавление товара в именованный список(спецификацию) и вывод товаров из именованного списка
4. Администрирование именованного списка
5. Вывод истории изменения цены и наличия товарной позиции (или группы позиций)
6. Предоставление пользователю истории выборок
Прочие возможности пользовательского интерфейса
1. Настройка уведомлений пользователя о появлении товара по почте, смс, и т.п.
2. Выбор тарифного плана
3. Обратная связь (техническая поддержка)
4. Предоставление информации о поставщиках прайс-листов
Базовые возможности администраторского интерфейса:
1. Администрирование (добавление/редактирование/удаление) поставщика прайс-листов.
2. Администрирование правил распознавания прайс-листов поставщика
3. Администрирование товаров, которые не были связаны автоматически
4. Администрирование каталога товаров
5. Администрирование тарифных планов
6. Администрирование пользователей: подтверждение регистрации пользователя системы, редактирование информации о пользователе системы. Зачисление/списание средств пользователя
7. Просмотр журнала
8. Экспорт таблиц БД
Предполагается дальнейшее развитие системы в сторону добавления аналитических функций и выборок по свойствам товаров (свойства товаров добавляются путем парсинга HTML).
Требования к разработчику:
Хорошее владение технологиями БД и программирования под web. Пожалуйста, указывайте как и при помощи каких технологий вы предполагаете решать поставленную задачу.
Документирование кода является обязательным.