Реализовать сервис для сохранения категоризированного списка продуктов.
- Возможные операции и ограничения с категориями:
- Добавление
- Нельзя добавить категорию которая существует
- Название должно содержать только латинскийе буквы или кирилицу
- Удаление
- Нельзя удалить категорию если есть хотя бы один продукт в ней
- Добавление
- Возможные операции и ограничения с продуктами:
- Добавление
- Нельзя добавить продукт без штрихкода.
- Нельзя добавить продукт без названия.
- При добавлении выполнять поиск по штрихкоду на https://barcodes.olegon.ru для автозаполнения полей.
- Удаление
- Редактирование
- Нельзя редактировать штрихкод, категорию и идентификатор
- Добавление
- Возможные операции и ограничения с магазинами
- Добавление
- Удаление
- Обеспечить возможность сохранения истории цен на продукт
- При удалении продукта удаляется и история цен
- При удалении магазина удаляется и история цен
- Цена сохраняется с привязкой к магазину
- Обеспечить возможность просмотра списков
- по штрихкоду - список цен на товар в магазинах
- по магазину - список продуктов
- по списку штрихкодов - магазины с общей ценой и количеством позиций которых нет
- для продуктов которых нет в магазине цена равна нулю
- результат отсортирован по цене и количеству отсутствующих позицый
Для организации и сборки програмных модулей использован Maven.
Используется паттерн MVC. Не используется Spring.
Доступен всем.
Для хранения и доступа к данным использована HSQLDB.
- Николаев А.С.