Position: PHP/Full stack Developer
Company: Book Box
Category: PHP
Experience: 2y
English level: intermediate

Проект представляє собою власний продукт, завдяки якому здійснюється повний цикл роботи компанії: робота з клієнтами, виведення продукції в інтерфейс користувача, процеси замовлень, інтеграції з супутніми сервісами та автоматизація процесів компанії. 

ЩО РОБИТИ:
- Підтримувати і розвивати сайт bookbox.ua.
- Втілювати в життя продуктові ідеї (від відгуків на книжки до розробки гейміфікації).
- Здійснювати підтримку та покращувати наявний функціонал.
- Оперативно реагувати на ad-hoc запити.
- Інтегрувати third-party сервіси/інструменти.

УМОВИ:
- Робота в офісі або remote (за вашим бажанням).
- Оплата за домовленістю (фіксована ставка).
- Випробувальний термін 1 місяць.
- Вільний доступ до бібліотеки Book Box.

ТЕХНІЧНИЙ СТЕК: 
- PHP (8.0) / Symfony (5.3)
- Doctrine (2) / SQL / Mysql (5.7)
- Twig
- CSS / SASS
- JS / Vue.js (2) / Axios
- Docker / Docker-compose / Make
- Git / Gitlab

АРХІТЕКТУРНІ ОСОБЛИВОСТІ:
- Розподілена архітектура: віделене ядро застосунку, шар домену, прикладний, інфраструктурний та шар зовнішніх інтерфейсів.
- Розділення потоків читання та запису (CQRS, Event / Query / Command buses). 
- Основне ядро системи базується на подіях (Event Storming / Event Sourcing).

СТЕК ТЕСТУВАННЯ: 
- PHP Unit
- Psalm
- PHP Stan
- Easy Coding Standards (PHP_CodeSniffer, PHP-CS-Fixer)
- Gitlab CI

ДЛЯ КОГО БУДЕ ЦІКАВО: 
- Тим, хто впізнав більшу частину базвордів. 
- Бажаючим писати гарний код, що легко підтримувати, тестувати і який відповідатиме всім принципам і стандартам (SOLID , DRY, KISS, PSR, etc.).
- Тим, хто втомився від CRUD-based проектів і анемічних сутностей.
- Тим, хто чув про DDD-підходи як потужну альтернативу і рішення засноване на потребах бізнесу, замість нав’язаних фреймворками підходів.
- Вміє не тільки писати, але й читати чужий код, документацію розробників і не боїться користуватись дебагером.
- Всім, хто бажає брати безпосередню участь в житті проекту, до чиїх порад дослухатимуться і ідеями котрих будуть користуватися тисячі людей. 

ДЕТАЛЬНІШЕ ПРО ПРОЕКТ

Проект представляє собою ряд рішень, в основі котрих лежить ядро, розроблене з безпосереднім урахуванням цілей та перспектив розвитку бізнесу. Відображає всі основні бізнес-поняття, має чіткі розділи і границі контекстів та відповідає загальній мові проекту, що використовується не лише між розробниками, а в рамках всієї команди Book Box. 

Основна взаємодія між контекстами та компонентами здійснюється за допомогою сучасних архітектурних підходів, заснованих на принципах Event Sourcing, з розділеними шинами для виконання команд, запитів або реагування на події (CQRS). Є чіткий розподіл між записом (агрегати / сутності) та читанням даних (проекції / індекси). 

Базова механіка проекту базується на широко відомих компонентах Symfony / Doctrine.

Є дуже широкий спектр взаємодії з сторонніми API, а також попит на інтеграцію нових сервісів.

Проект повністю покрито статичним аналізом, а також автоматичним тестуванням основних функціональних вузлів. Налаштовано процес СІ, з запуском автоматичних перевірок.