https://github.com/notbadcode/intrumenttest
Symfony 5 components usage example
https://github.com/notbadcode/intrumenttest
doctrine doctrine-migrations doctrine-orm doctrine2 php php7 symfony symfony-component symfony5
Last synced: 3 months ago
JSON representation
Symfony 5 components usage example
- Host: GitHub
- URL: https://github.com/notbadcode/intrumenttest
- Owner: NotBadCode
- Created: 2020-05-18T13:42:09.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-04-19T20:34:27.000Z (about 2 years ago)
- Last Synced: 2024-12-27T20:29:14.315Z (5 months ago)
- Topics: doctrine, doctrine-migrations, doctrine-orm, doctrine2, php, php7, symfony, symfony-component, symfony5
- Language: PHP
- Homepage:
- Size: 70.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Реализация тестового задания.
Необхдимо написать упрощённое REST API.
Каркас приложения, должен быть стандартный MVC, реализованный через Controller, Entity, Repository, Service.
API должно содержать несколько методов:
1) Сгенерировать стартовый набор данных, генерируется 20 сущностей "товар", у которых есть идентификатор, название и цена.
2) Создать заказ. Метод принимает набор идентификаторов существующих товаров. У заказа есть статус, который может быть в 2 состаяниях: новый, оплачено. При создании заказа, по умолчанию выставляется статус "новый". При успешном создании заказа, метод должен возвращать этот номер в ответе на запрос.
3) Оплатить заказ. Метод принимает на вход сумму и идентификатор заказа. Если сумма совпадает с суммой заказа и статус заказа "новый", то отправляем http запрос на сайт ya.ru, если статус запроса 200, то меняем статус заказа на "оплачено".Таблицу пользователей делать не нужно, считаем что пользователь всегда авторизирован под id=1, login=admin.
Количесвто товаров в рассчёт не берём, считаем, что их у нас беcконечное количество.
Задачу нужно реализовать без фреймворков, никаких триггеров, процедур в mysql использовать нельзя, только обычные sql запросы и транзакции. ORM использовать можно.
Использовать сторонние отдельные библиотеки можно (например symfony router).