Для примера возьмем в китайские июни. Можно ввести 100 в инпут и нажать кнопку "Convert". По итогу получаем "100 долларов = 688 юаней".
Требования:
- Обязательно использовать composer.
- Реализовать без фреймворков (symfony, yii2, etc.).
- Реализация фронтенда произвольная (jQuery, Angular, React).
- Необходимо использовать API сервис для конвертации (рэйты нужно брать у стороннего API, не хардкодить их на бекенде).
- Архитектура должна предусматривать лёгкую смену провайдера рэйтов.
В прием задачи входит:
- Ссылка на демо.
- Ссылка в публичный репозиторий для ревью написанного кода.
- Задание выполнено за равно или менее чем 3 дня.
Примечания:
Оцениваться будет качество кода и реализации. Понимаю, что ты не JS разработчик поэтому и не прошу сложной фронтовой части. Но базовыми знаниями JS любой девелопер должен обладать. Нельзя использовать только фреймворки, типа: symfony, yii2. Использовать библиотеки, SDK, бандлы, плагины (называй как хочешь) и прочее приветствуется. Срок выполнения данного тестового задания - 3 дня.
- First - clone repo
git clone https://github.com/yoshkin/currency-converter-demo.git currency.local
cd currency.local
- Second
composer install
- добавить класс нового провайдера, который будет расширять BaseProvider и имплементировать ProviderInterface
- добавить класс сервиса для нового провайдера, который имплементирует CurrenciesServiceInterface
- скорректировать зависимость DI, указав на новый сервис
- Profit!
Что еще я мог бы сделать:
- добавить тесты
- добавить swagger (но нужно ли это ради одного метода?)
- сделать фронт без IndexController и Twig (но это уже кому как удобнее)
- использовать другой DI
- придумайте еще что-нибудь, напишите в issue или feature request :)