Міграція платформи OurSchoolHangout на новий технологічний стек
Навіть оптимально обраний на початку проєкту технічний стек з часом може проявити свою темну сторону. В таких випадках досить доступним і зручним способом виправлення ситуації може стати саме міграція продукту на нові фреймворки, які краще відповідають потребам та масштабу рішення.
Проєкт міграції платформи OurSchoolHangout від BuildApps якраз є прикладом того, як можна впоратися з подібними викликами. Адаптація модулів та даних, модернізація Back-end та Front-end без переривання робочих процесів і не лише.
Дізнайтеся більше деталей з наступних частин кейсу!
Кілька слів про клієнта
Платформа OurSchoolHangout – це ультимативне рішення для адміністрування навчального процесу, організації шкільних операцій. Іншими словами, це високотехнологічний цифровий інтерфейс, який замінює вчителям, батькам та освітянам традиційні інструменти, переносячи різні освітні елементи у хмару.
Щодо можливостей платформи, то вони наступні:
- Єдиний дашборд з повним функціоналом.
- Розділені облікові записи.
- Автоматизовані системи для оплати навчання.
- Вбудовані комунікаційні рішення.
- Ефективні мобільні застосунки.
Насамперед платформа призначена для адміністрування навчальних закладів, планування освітніх процесів та взаємодії з освітянами, їхніми батьками. І хоч функціонує вона досить давно, власники продукту були не цілком задоволені роботою та продуктивністю рішення. Що і спонукало їх до ініціації процесу співпраці з командою BuildApps.
Виклики та задачі проєкту
Якщо початкова задача зводилася до «покращити» платформу в досить широкому контексті, то глибокий аналіз рішення дозволив встановити причини незадовільної роботи системи та сформувати чітке ТЗ з планом дій. Останній містив наступні пункти:
- Перенесення продукту на нові (альтернативні) «технологічні рейки».
- Модифікація кастомних компонентів з подальшою інтеграцією в рішення.
- Стандартизація форматів даних та протоколів обміну інформацією.
- Адаптація APIs та оптимізація мобільних застосунків з урахуванням нового стеку.
- Модернізація процесу CI/CD для нових ітерацій продукту, зокрема для мобільних версій.
З викликів зіткнулися здебільшого з технічними моментами та потребою чіткого обґрунтування кожної зміни та дії, які ми вважали доцільними для покращення продукту. Якщо ви читаєте цей кейс – то означає, що з перерахованими моментами ми впоралися, як і з роботою загалом.
Простими словами про складний процес міграції
Сказати що проєкт проходив просто та без проблем – означає збрехати. Хоч наш досвід та вміння і дозволили дещо згладити гострі кути, однак складнощі все ж виникали буквально на кожному етапі роботи. Ось що ми реалізували в процесі:
- Замінили технологічний стек .NET Xamarin.Forms на .NET MAUI. І ні, Xamarin не є поганим фреймворком, просто MAUI краще підійшов для досягнення бажаних результатів саме на цій платформі.
- Адаптували частину кастомних рішень до нового технологічного стека. Точніше, дещо змінили сам фреймворк MAUI, щоб якісно інтегрувати ряд модулів.
- Імплементували нові та адаптували старі бібліотеки. Зокрема ті, що стосувалися функціональної частини модулів платформи.
- Трішки видозмінили GUI порталу. Здебільшого розширили функціонал панелей керування і додали необхідні модулі до системи.
- Автоматизували процеси CI/CD. Це дозволило пришвидшити доставляння та розгортання оновлень для мобільних застосунків у Play Market та App Store.
Нічого складного? Але ж платформа має тисячі користувачів, дані яких також довелося адаптувати до нового фреймворку. Не те щоб міграція даних була особливим викликом, однак процес вимагає значних інвестицій часу та ресурсів. І це вартувало того.
Результати, як вони є
Платформа функціонує, як і її мобільні версії для популярних операційних систем Android та iOS. Тобто задачу ми виконали вчасно і результат задовольнив власника продукту. Вибачте, сьогодні без цифр, але з конкретикою:
- Платформа на базі .NET MAUI почала працювати значно швидше. Окрім того, збільшилася її операційна та обчислювальна продуктивність.
- Нові алгоритми CI/CD дозволили прискорити процес розгортання нових ітерацій продукту, зокрема оновлень для його мобільних версій.
- Дещо видозмінився функціонал, додалася інтероперабельність для ряду компонентів платформи, покращилася робота модулів.
І власне це все. Ще опісля аудиту ми надали замовнику розгорнутий аналіз проблем та можливостей для покращення. І реалізували все, що технічно можна було реалізувати. Наразі проєкт знаходиться в режимі творчої паузи, тобто теоретично ми отримаємо підряд на його подальший розвиток.
Бажаєте реалізувати щось подібне? Просто зв'яжіться з менеджером BuildApps для початкової консультації!
