Привет, это тестовое задание на позицию стажера php-разработчика. Оно может находится в приватном репозитории (скрытом) - чтобы все было по честному и никто не смог воспользоваться результатами сделанной тобой работы. Твой труд будет виден только тебе и нашей команде менторов. Добавь их: livsi, blackberryJam, smk-trainee
Тебе не прийдется создавать каркас приложения самостоятельно - мы уже сделали это для тебя.
На локальной машине нужен установленный git, docker и docker compose Если к тебя их еще нет - тебе пригодятся следующие ссылки:
- https://docs.docker.com/engine/install/
- https://docs.docker.com/engine/install/linux-postinstall/ (для линукс-пользователей)
- https://git-scm.com/downloads
Для того, чтобы разрабатывать - клонируй код на свой комп и можно начинать работу. Часть кода уже написана - ее при необходимости можно смело менять, но большую часть тебе прийдется написать самостоятельно.
Запуск приложения производится консольной командой:
docker compose up
После запуска - api-doc будет доступен по адресу http://localhost:8080/
Необходимо доработать сервис хранения информации о посылках (Parcels) на PHP (Symfony).
Сервис должен реализовывать REST API для:
- создания посылки
- поиск посылки по телефону отправителя
- поиск посылки по фио получателя
- удаления посылки
У сущности Посылка(Parcel) есть следующие свойства:
- отправитель
- фио
- телефон
- адрес отправления (страна, город, улица, дом, квартира)
- получатель
- фио
- телефон
- адрес получения (страна, город, улица, дом, квартира)
- габариты (длина * ширина * высота + вес)
- оценочная стоимость
Посылки должны сохранятся в базе данных PostgreSQL (в конфигурации docker-compose.yaml - она уже есть).
- Добавить нужные Entity (https://symfony.com/doc/current/doctrine.html#creating-an-entity-class)
- Добавить сервис(ы) с необходимыми методами
- В контроллеры добавить вызовы нужных методов сервисов
- Написать автотесты уровня unit (https://symfony.com/doc/current/testing.html#unit-tests) для сервисов
- Привести в соответствие api документацию разработанному решению