Нужно сделать задание для университета используя фреймворком Spring.
Сервер приложений позволяет управлять товарами, складом и тележками. Веб-интерфейс (API), а также объекты, которые используются для связи с внешним миром, определены в спецификации и должны использоваться для связи через веб-службы. Вне веб-интерфейса вы можете использовать любые другие объекты в соответствии с вашим дизайном, если вы сочтете это целесообразным.
Спецификацию веб-интерфейса, которой должно следовать приложение, можно найти здесь: https://app.swaggerhub.com/apis-docs/sk-stuba-fei-uim-oop/OOP_Zadanie_3/1.0.0
Описание системы Подробное описание каждой операции приведено в спецификации API. Система позволяет добавлять и удалять товары из ассортимента магазина. Кроме того, он позволяет редактировать существующие продукты, а также увеличивать количество продуктов на складе.
<!--[if !supportLineBreakNewLine]-->
Система позволяет создавать и удалять заказы (тележки). Есть возможность добавлять товары в заказы в указанном количестве (при наличии достаточного количества товара на складе). Система также позволяет оплачивать еще неоплаченные заказы. К оплаченным заказам невозможно добавить дополнительные позиции.
Автоматизированные тесты
Проект содержит автоматизированные тесты. Тесты можно запустить путем непосредственно из класса, который их содержит (находится в src / test / sk /.../ oop / assignment3 / Assignment3Tests.java)
Проект должен пройти минимум 10 тестов
Основное внимание при выставлении оценок уделяется объектно-ориентированному подходу и принципам ООП, используемым в решении.
Если в спецификации указано, что должен быть возвращен код 404, а в описании не указано когда, то необходимо вернуть код 404, если данный идентификатор не существует в системе.
А так-же обращается внимание на:
1. Имена классов начинаются с заглавной буквы, имена методов начинаются с заглавной буквы)
2. Соответствующее использование модификаторов доступа (общедоступных, частных или защищенных) при ограничении доступа к методам и атрибутам класса
3. Использование наследования и полиморфизма
4. Использование исключений при обработке нежелательного поведения (не перехватывайте и не бросайте экземпляры универсального класса Exception)
5. Не используйте вложенные классы(don't use nested classes)
6. Не используйте статические методы или непостоянные статические переменные (они не нужны для выполнения назначения)
7. не вкладывайте никакой логики в основной метод и его класс. Основной метод следует использовать только для инициализации приложения с использованием инфраструктуры Spring
8. Можете использовать библиотеку lombok и ее аннотации в своем решении. Необходимая зависимость уже присутствует в файле pom.xml.