Вже 3 сезони поспіль, обираючи командний проєкт для інтернів, ми оминали внутрішні сервіси компанії. Причин було дві: все що стосується контракторів має бути частиною нашого HR сервісу, це раз. А він в нас на Angular та Java, тобто іншому стеку технологій – це два. Та все ж таки, ми наважились на черговий експеримент.
На фронтенді наш головний HR сервіс – це моноліт на Angular. Але на бекенді маємо розмежовані контексти – окремі сервіси та бази даних для роботи з кожною з головних бізнес-сутностей. Тож, ми вирішили спробувати, і зробити ще один бекенд, тільки вже на Node.js. А фронтенд на React динамічно завантажувати до нашого Angular, як мікрофронтенд. Ми не хотіли кардинально змінювати структуру Angular додатку, тож відмовились від готових рішень для мікрофронтендів. Натомість реалізували своє, маленьке звірятко, що загортає React в Angular компонент.
Робота велась у два потоки. Поки інтерни реалізовували функціонал нового HR модулю, я досліджував різні варіанти того, як вже ж таки подружити різні фронтенди. Я зупинився на варіанті збірки React додатку у функцію рендеру у форматі ES6 модулю, та його динамічного імпорту в відповідний компонент сторінки на Angular. За два тижні до завершення проєкту інтерн Олександру Калашник продовжив справу інтеграції. Саша виконав чималий шмат роботи. Познайомився з тонкощами роутингу Angular та React додатків та реалізував адаптер між їхніми History API. Саша завершив функціональний прототип інтеграції. На жаль, цих 2 тижнів не вистачило на повноцінну інтеграцію 2 реальних фронтендів. Далі буде…
Інтеграція з наявними сервісами дала значний поштовх в знайомстві з сучасними підходами. На інтернів одразу навалились підняття сервісів в Docker контейнерах та написання власних middleware для авторизації через JWT.
Що до самого модулю, ми взялись реалізувати Onboarding Tool – інструмент для введення нових контракторів в компанію. Наразі ми використовуємо для цього Trello. В чому полягає ключова відмінність нашого рішення – завдання спільні для всіх контракторів, а от прогрес та терміни по завданнях індивідуальні. За час, відведений на проєкт, інтерни встигли зробити функціональний прототип з приємним сучасним оформленням. За що також хочу подякувати нашим дизайнерам, Лєрі та Лілі. Лєра займалась оформленням екранів у Figma. Для Лєри це був перший UX/UI проєкт. Ліля була її наставником, теж вперше. Тож вітаю дівчат з вдалим початком. Звісно, інтени теж постарались, уважно переносячи розміри та кольори з дизайну в властивості React компонентів.
Говорячи про дизайн, неможливо не згадати інтерна, який взяв на себе комунікацію з дизайнерами та розподіл задач в команді на час моєї відсутності. Артем Смотритель якось добре підмітив проблеми в комунікації на івенті від наших HR-бджілок. Тому я дав йому можливість спробувати себе в ролі тімліда. Досвід позитивний, з вибором я не помилився.
Івенти від HR, до речі, набули невеличкої організаційної зміни, що зробила їх ще кориснішими. У 24-ї групи кожен івент починався з невеличкого оглядом від мене, на практику яких саме вмінь він направлений, і чому вони важливі. А після івенту всі разом розбирали успіхи та недоліки у взаємодії.
Чим ще ця інтернатура відрізнялася від попередніх? Від початку відбору до самого випуску 24 сезон проходив під звуки сирен. І ми неймовірно вдячні ЗСУ за можливість і далі зміцнювати економічний фронт. Тримаєм стрій, донатим на ЗСУ!
Post A Reply